我有一個帶有一些字串值的 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
我該如何解決這個問題?
uj5u.com熱心網友回復:
采用:
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')
結果:

一個更一般的情況,它也可以處理兩位數:
df = pd.DataFrame({'datetime':['2022-02-17 17', '2022-02-17 7']})
df['datetime'] = df['datetime'].str.replace('\s(\d)$', ' 0\\1')
結果:

轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/428718.html
