2016-05-14 56 views
0

我需要在我的熊貓數據框中對日期進行操作,但是我的代碼有一個錯誤。具體來說,我正在從csv文件導入一列時間戳。如何在python中用時區最佳地調整時間戳?

x['Created at'] 
0  2016-05-13 13:28:41 -0400 
1  2016-05-13 05:11:18 -0400 
3  2016-05-12 18:06:42 -0400 
4  2016-05-12 16:06:24 -0400 
5  2016-05-12 13:58:01 -0400 
6  2016-05-12 03:30:27 -0400 

然後,我將這些數據更改爲日期時間。我通過pandas.to_datetime(df['date'])這樣做,但是當我這樣做的時候,時間正在轉移4個小時。

x.Createdat 
0  2016-05-13 17:28:41 
1  2016-05-13 09:11:18 
3  2016-05-12 22:06:42 
4  2016-05-12 20:06:24 
5  2016-05-12 17:58:01 
6  2016-05-12 07:30:27 

我假定這是因爲-0400在時間戳的結束,但我想不出來解決這個問題,所以我可以在我自己的時區彙總此數據的最佳方式。

回答

1

如果-400是您不需要或不想要的信息,那麼只需將您使用的pandas.to_datetime(df['date'])更改爲pandas.to_datetime(df['date'].apply(lambda x: x[:-6]),這會將-400從字符串中刪除。不是最好和最健壯的方法,但它會起作用。

如果你想使用-400,但要將其轉換爲不同的時區,檢查出tz_localize在這個答案說明:convert gmt to local timezone in pandas

另一種工具,可能有助於使用pytzpytz - Converting UTC and timezone to local time