python - pandas,pytz - 简单的时区转换

标签 python pandas pytz

我有以下字典:

{'实际': {时间戳('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时间戳正确转换并返回:

                           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)

它不会被转换并返回:

                           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

关于python - pandas,pytz - 简单的时区转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41367570/

相关文章:

python - 在数据框中除一列(不删除它)之外的所有列上填充 NaN 值

python - pandas 中的两个条件子句计数

python - 通过考虑时区来比较时间

python - 使用 freezegun,为什么 pytz.utc 和 utcnow() 输出不同的日期时间?

python - 模块 pytz 已经导入

python - Django hook 根据站点拒绝用户访问管理员

python - 检查列表是否是另一个列表的子列表的程序的断言测试

python - 运行带有 pm2 错误的 python 脚本

python - 如何在 pandas DataFrame 中存储行名和列索引?

postgresql - 如何使用 pandas 中的数据帧为 postgres 设置表中的主键?