在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的列表或如何在安装时自行检查时区。