簡體   English   中英

熊貓to_datetime失去了時區

[英]Pandas to_datetime loses timezone

我的原始數據有一個時間戳為ISO8601格式的列,如下所示:

'2017-07-25T06:00:02 + 02:00'

由於數據是CSV格式,因此它將被讀作對象/字符串。 因此我將它轉換為這樣的日期時間。

import pandas pd
df['time'] = pd.to_datetime(df['time'], utc=False)

#df['time'][0]
df['time'][0].isoformat()

不幸的是,這會導致UTC時間戳,並且時區會丟失。 例如df ['time'] [0] .tzinfo未設置。

時間戳('2017-07-25 04:00:02')

'2017-07-25T04:00:02'

我正在尋找一種方法來保留每個時區對象的時區信息。 但之后沒有將其重新設置為CEST(中歐夏令時),因為此信息已包含在原始數據中的ISO8601時區偏移中。 知道怎么做嗎?

所以這就是我解決它的方式。

有一篇關於時區和Python的精彩文章,它幫助我找到了解決方案。 它依賴於ISO8601 Python包

import iso8601

times = ['2017-07-25 06:00:02+02:00',
         '2017-07-25 08:15:08+02:00',
         '2017-07-25 12:08:00+02:00',
         '2017-07-25 13:10:12+02:00',
         '2017-07-25 15:11:55+02:00',
         '2017-07-25 16:00:00+02:00'
        ]

df = pd.DataFrame(times, columns=['time'])
df['time'] = df['time'].apply(iso8601.parse_date)
df['time'][0]

它產生以下輸出並保留時區信息。

時間戳('2017-07-25 06:00:02 + 0200',tz ='+ 02:00')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM