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
我有以下命令:
{'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