gpt4 book ai didi

python - Pandas :解析 24:00 而不是 00:00

转载 作者:太空宇宙 更新时间:2023-11-03 12:37:18 27 4
gpt4 key购买 nike

我有一个数据集,其中小时记录为 [0100:2400],而不是 [0000:2300]

例如

pd.to_datetime('201704102300', format='%Y%m%d%H%M')

返回

Timestamp('2017-04-10 20:00:00')

但是

pd.to_datetime('201704102400', format='%Y%m%d%H%M')

给我错误:

ValueError: unconverted data remains: 0

我该如何解决这个问题?

我可以手动调整数据,比如这个SO Post中提到的,但我认为 pandas 应该已经处理了这个案例?

更新:

以及如何以可扩展的方式为数据框做到这一点?例如,数据看起来像这样 enter image description here

最佳答案

Pandas 使用系统 strptime,因此如果您需要非标准的东西,您可以自己动手。

代码:

import pandas as pd
import datetime as dt

def my_to_datetime(date_str):
if date_str[8:10] != '24':
return pd.to_datetime(date_str, format='%Y%m%d%H%M')

date_str = date_str[0:8] + '00' + date_str[10:]
return pd.to_datetime(date_str, format='%Y%m%d%H%M') + \
dt.timedelta(days=1)

print(my_to_datetime('201704102400'))

结果:

2017-04-11 00:00:00

对于 pandas.DataFrame 中的列:

df['time'] = df.time.apply(my_to_datetime)

关于python - Pandas :解析 24:00 而不是 00:00,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43359479/

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