我有一个包含大量ISO 8601日期字符串的时间序列,希望转换为numpy.datetime64
。但我得到一个警告:
>>> import numpy as np
>>> t=np.datetime64('2022-05-01T00:00:00-07:00')
<stdin>:1: DeprecationWarning: parsing timezone aware datetimes is deprecated; this will raise an error in the future
好的,那么我如何避免警告?(不放弃重要的性能因素)
(大概这样做的方法是转换为UTC,然后创建一个datetime64
对象,但使用datetime64
的全部意义在于它可以非常快地直接处理ISO 8601字符串。)
The documentation mentions this issue,但不建议任何解决方案:
自版本1起弃用。11.0:NumPy不存储时区信息。为了向后兼容,datetime64仍然解析时区偏移,它通过转换为UTC±00:00(祖鲁时间)来处理。此行为已被弃用,将来会引发错误。
1条答案
按热度按时间sf6xfgos1#
我找到了一种方法来做到这一点,但它明显慢了(我不在乎〈10000个时间戳,但对于数百万或更多的时间,我希望保持快速的时间)。
在Jupyter notebook中:
它打印出: