簡體   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