3
我有我的專欄,時間以秒爲單位。此時的時區是UTC,但Pandas不知道它。我想添加這些信息。在熊貓數據框中添加時區到時間
df_data['transaction_creation_date']
0 1484161304
1 1489489785
2 1489161124
3 1488904824
4 1484908677
5 1485942900
6 1490854506
7 1485895432
8 1485975392
9 1489266328
10 1488525196
11 1490363033
12 1490617794
13 1486560642
14 1487170224
15 1484923852
所以我做這樣的事情:
df_times = pd.DatetimeIndex(pd.to_datetime(df_data['transaction_creation_date'], unit='s'))
df_times = df_times.tz_localize(pytz.utc)
當我打印存儲在df_times
時間戳那麼我:
print(df_times.strftime('%s'))
['1484157704' '1489486185' '1489157524' ..., '1490684098' '1490284646'
'1489602636']
所以......
我UTC第0行的時間:1484161304
我添加了有關時區的信息後,更改爲1484157704
...
我的時區是「歐洲/華沙」,我的時區和UTC的區別是3600
而1484161304 - 1484157704 = 3600
。
熊貓已經將我的UTC時間視爲「歐洲/華沙」,並將它們切換一小時,以使它們成爲UTC,從而破壞我的數據。
如何設置UTC時區到我的時間,所以它不會發生?
感謝您的回覆。我會盡快仔細研究一下。現在我用「os.environ ['TZ'] ='UTC''來」解決「我的代碼。感謝我使用.tz_localize(pytz.utc)之後,由於UTC和UTC時區之間沒有時差,我的UTC時間戳沒有改變(根據我的tz - > Europe/Warsaw)。 – F1sher