繁体   English   中英

将UTC时间戳转换为熊猫本地时区问题

[英]Convert UTC timestamp to local timezone issue in pandas

我正在尝试将Unix UTC时间戳转换为Pandas中的本地日期格式。 我一直在寻找一些解决方案,但我不太了解如何正确执行此操作。

我有一个带有多个UTC时间戳列的数据框,所有这些列都需要转换为本地时区。 假设欧盟/柏林。

首先,我将所有timestamp列转换为有效的datetime列,并进行了以下调整:

df['date'] = pd.to_datetime(df['date'], unit='s')这有效并且给我以下结果,例如2019-01-18 15:58:25如果我知道尝试调整我已经尝试过两个日期时间的时区:

df['date'].tz_localize('UTC').tz_convert('Europe/Berlin')df['date'].tz_convert('Europe/Berlin')

在这两种情况下,错误均为: TypeError: index is not a valid DatetimeIndex or PeriodIndex ,我不明白为什么。

问题必须是DateTime列不在索引上。 但是,即使当我使用df.set_index('date')并尝试了上述选项后,它也不起作用,并且出现了相同的错误。

另外,如果可行,则似乎该方法仅允许对索引的DateTime进行时区调整。 然后,我该如何调整其他需要调整的列?

希望找到有关如何一劳永逸地解决这些问题的信息! 谢谢

您应该首先通过添加.dt.指定它为日期时间.dt. 到非索引

df['date'] = df['date'].dt.tz_localize('UTC').dt.tz_convert('Europe/Berlin')

如果该列不是索引列,则应使用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM