![](/img/trans.png)
[英]pandas.to_datetime() how to convert from local timezone to UTC unix timestamp?
[英]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.