在Python中从DateTimeIndex中丢失时区感知

2024-06-26 03:37:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我是熊猫0.13.1。假设我需要在使用时区的分层索引中按两个时间戳对数据进行索引,这种方法可以很好地工作:

import pandas as pd
dti1 = pd.DatetimeIndex(start=pd.Timestamp('20000101'), end=pd.Timestamp('20000102'), freq='D', tz='EST5EDT')
dti2 = pd.DatetimeIndex(start=pd.Timestamp('20000102'), end=pd.Timestamp('20000103'), freq='D', tz='EST5EDT')
pd.MultiIndex.from_arrays([list(dti1), list(dti2)])

我得到:

MultiIndex(levels=[[2000-01-01 00:00:00-05:00, 2000-01-02 00:00:00-05:00], [2000-01-02 00:00:00-05:00, 2000-01-03 00:00:00-05:00]], 
           labels=[[0, 1], [0, 1]])

pd.MultiIndex.from_arrays([dti1, dti2])

返回时区原始索引:

MultiIndex(levels=[[2000-01-01 05:00:00, 2000-01-02 05:00:00], [2000-01-02 05:00:00, 2000-01-03 05:00:00]],
           labels=[[0, 1], [0, 1]])

希望两人返回相同的时区。这是预期的吗?你知道吗


Tags: fromstarttimestamplisttzendpdlevels