gpt4 book ai didi

python - Pandas to_datetime 丢失时区

转载 作者:太空狗 更新时间:2023-10-29 22:24:37 24 4
gpt4 key购买 nike

我的原始数据有一列带有 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 未设置。

Timestamp('2017-07-25 04:00:02')

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

我正在寻找一种方法来将时区信息保存在每个时区对象中。但之后无需将其重新设置为 CEST(中欧夏令时),因为此信息已包含在原始数据的 ISO8601 时区偏移中。知道如何做到这一点吗?

最佳答案

我是这样解决的。

关于 Timezones and Python 有一篇很棒的文章,这帮助我找到了解决方案。它依赖于 ISO8601 Python packages .

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]

产生以下输出并保留时区信息。

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

关于python - Pandas to_datetime 丢失时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47310814/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com