Converting to datetime - ParserError: Unknown string format: 2022-02-17 7

Converting to datetime - ParserError: Unknown string format: 2022-02-17 7

我有一个 pandas 数据框,其中包含一些字符串值,如果小时小于 10,则这些字符串值具有一位数格式的日期小时,如下所示:

2022-02-17 7

我现在想将此字符串转换为日期时间格式,但是在应用时

df['datetime'] = pd.to_datetime(df['datetime'], infer_datetime_format=True)

我得到一个 ParserError:

ParserError: Unknown string format: 2022-02-17 7

我该如何解决这个问题?

使用:

df = pd.DataFrame({'datetime':['2022-02-17 7']})
df['datetime'] = df['datetime'].str.replace(' (\d{1})', ' 0\1')
df['datetime'] = pd.to_datetime(df['datetime'], format='%Y-%m-%d %H')

结果:

一个更一般的情况也可以处理 two-digits:

df = pd.DataFrame({'datetime':['2022-02-17 17', '2022-02-17 7']})
df['datetime'] = df['datetime'].str.replace('\s(\d)$', ' 0\1')

结果: