在 pandas 中将多种日期格式转换为日期时间
Convert multiple date formats to datetime in pandas
我有一行日期格式不同的杂乱数据,我希望它们与 pandas
中的日期时间一致
df:
Date
0 1/05/2015
1 15 Jul 2009
2 1-Feb-15
3 12/08/2019
当我运行这部分:
df['date'] = pd.to_datetime(df['date'], format='%d %b %Y', errors='coerce')
我明白了
Date
0 NaT
1 2009-07-15
2 NaT
3 NaT
如何将其全部转换为 pandas 中的日期时间?
pd.to_datetime
能够处理同一列中的多种日期格式。指定一个format
会阻碍它动态判断格式的能力,所以如果有多个类型就不要指定format
:
import pandas as pd
df = pd.DataFrame({
'Date': ['1/05/2015', '15 Jul 2009', '1-Feb-15', '12/08/2019']
})
df['Date'] = pd.to_datetime(df['Date'], errors='coerce')
print(df)
Date
0 2015-01-05
1 2009-07-15
2 2015-02-01
3 2019-12-08
*处理多个日期时间的能力存在限制。混合时区感知和时区未知日期时间将无法正确处理。同样混合使用 dayfirst 和 monthfirst 的符号将不会总是正确解析。
我有一行日期格式不同的杂乱数据,我希望它们与 pandas
中的日期时间一致df:
Date
0 1/05/2015
1 15 Jul 2009
2 1-Feb-15
3 12/08/2019
当我运行这部分:
df['date'] = pd.to_datetime(df['date'], format='%d %b %Y', errors='coerce')
我明白了
Date
0 NaT
1 2009-07-15
2 NaT
3 NaT
如何将其全部转换为 pandas 中的日期时间?
pd.to_datetime
能够处理同一列中的多种日期格式。指定一个format
会阻碍它动态判断格式的能力,所以如果有多个类型就不要指定format
:
import pandas as pd
df = pd.DataFrame({
'Date': ['1/05/2015', '15 Jul 2009', '1-Feb-15', '12/08/2019']
})
df['Date'] = pd.to_datetime(df['Date'], errors='coerce')
print(df)
Date
0 2015-01-05
1 2009-07-15
2 2015-02-01
3 2019-12-08
*处理多个日期时间的能力存在限制。混合时区感知和时区未知日期时间将无法正确处理。同样混合使用 dayfirst 和 monthfirst 的符号将不会总是正确解析。