【发布时间】:2020-12-05 22:17:59
【问题描述】:
我想在 Pandas 中使用日期/时间作为数据框的索引。
但是,数据库中没有正确处理夏令时,因此夏令时结束的那一天的日期/时间值有 25 小时,并表示如下:
2019102700
2019102701
...
2019102724
我正在使用以下代码将这些值转换为 DateTime 对象,我将其用作 Pandas 数据框的索引:
df.index = pd.to_datetime(df["date_time"], format="%Y%m%d%H")
但是,这给出了一个错误:
ValueError: unconverted data remains: 4
大概是因为to_datetime 函数不期望小时为24。同样,夏令时开始的日期只有 23 小时。
我想到的一个解决方案是将日期存储为字符串,但这似乎既不优雅也不高效。有没有办法解决使用to_datetime时处理夏令时的问题?
【问题讨论】:
-
尝试
df['date'] = df.index.to_series().str.slice(stop=-2)和倒数.slice(start=-2)的时间,然后用日历操作夏令时时间 -
您知道时区吗?时间间隔是否像您的示例(1h)一样规律?
-
@MrFuppes 是的,我愿意
标签: python-3.x pandas dataframe datetime