将熊猫列转换为格式不一致的日期时间

时间:2021-02-10 21:51:41

标签: python-3.x pandas

我有一个熊猫数据框,如下所示:

import pandas as pd
df = pd.DataFrame({'col1':['abc', 'abc', 'xyz', 'xyz', 'cd'], 'col2':['2020-02-01 12:04:59', '2020.09.29.12.04.59', '2020.09.28.16.32.21', '2020-02-01 16:04:59', '2020-05-01 11:04:59']})
df

    col1    col2
0   abc 2020-02-01 12:04:59
1   abc 2020.09.29.12.04.59
2   xyz 2020.09.28.16.32.21
3   xyz 2020-02-01 16:04:59
4   cd  2020-05-01 11:04:59

col2 值不一致(格式不同),这就是我无法将其转换为日期时间格式的原因。

我使用 df['col2'] = pd.to_datetime(df['col2']) 代码将该列转换为日期时间但 getting ParserError: Unknown string format: 2020.09.29.12.04.59 错误。

1 个答案:

答案 0 :(得分:0)

您可以删除所有非数字字符:

df['col2'] = pd.to_datetime(df['col2'].str.replace('\D',''))

输出:

  col1                col2
0  abc 2020-02-01 12:04:59
1  abc 2020-09-29 12:04:59
2  xyz 2020-09-28 16:32:21
3  xyz 2020-02-01 16:04:59
4   cd 2020-05-01 11:04:59