pandas, pytz - 简单的时区转换

pandas, pytz - simple timezone convert

我有以下命令:

{'actual': {Timestamp('2013-02-20 13:30:00'): 0.93000000000000005}}

我改成df:

df= pd.DataFrame.from_dict(dict, orient='columns', dtype=None)

如果我执行:

df.index = df.index.tz_localize('US/Eastern').tz_convert(pytz.utc)

df时间戳被正确转换并且returns:

                           actual
2013-02-20 18:30:00+00:00    0.93

但是,如果我将命令分成两行,例如:

df.index= df.index.tz_localize('US/Eastern')
df.index.tz_convert(pytz.utc)

它没有被转换并且 returns:

                           actual
2013-02-20 13:30:00-05:00    0.93

有人知道为什么吗?

您只需要在第二行将索引分配回df

import pytz
df.index = df.index.tz_localize('US/Eastern')
df.index = df.index.tz_convert(pytz.utc)

df
#                         actual
#2013-02-20 18:30:00+00:00  0.93