在Pandas中,对于忽略DST的时间序列使用tz_localize的最佳方法是什么?
问题描述:
我有一个时间序列,它是由一个传感器测量的,时钟不根据DST规则进行调整。因此,日期时间数据独立于DST。在熊猫中本地化数据的最佳方式是什么?在Pandas中,对于忽略DST的时间序列使用tz_localize的最佳方法是什么?
答
您可以先定位到不变时区,例如EST,然后使用tz_convert()
将其更改为自动检测夏令时的时区,例如US/Eastern。
In [16]: a=pd.DataFrame(dict(t=(pd.Timestamp('01/01/2017'), pd.Timestamp('07/01/2017'))))
In [17]: a
Out[17]:
t
0 2017-01-01
1 2017-07-01
In [18]: a.t=a.t.dt.tz_localize('EST')
In [19]: a
Out[19]:
t
0 2017-01-01 00:00:00-05:00
1 2017-07-01 00:00:00-05:00
In [20]: a.t=a.t.dt.tz_convert('US/Eastern')
In [21]: a
Out[21]:
t
0 2017-01-01 00:00:00-05:00
1 2017-07-01 01:00:00-04:00
默认情况下pandas在时区使用pytz;您可以看到this question的列表或如何在安装时自行检查时区。