熊猫to_datetime忽略格式

时间:2020-04-01 14:24:03

标签: python pandas string-to-datetime

我试图将存储在数据框中的日期转换为DateTime格式。我要转换的列的日期以 mm / dd / yy 格式存储。

这是我用来转换的脚本:

df['dt'] = pd.to_datetime(df['dt'], format = '%d-%m-%Y')

即使提供的格式不正确,脚本也可以准确无误地转换日期。

我的问题是,为什么在提供错误格式时脚本没有引发错误?

2 个答案:

答案 0 :(得分:0)

考虑日期1-2-2020。现在只要看一下日期,您就能确切地说出它是什么日期?答案是否定的,因为除非您知道日期的格式或日期的创建方式(即年月日还是月日年),否则您无法真正说出上述日期是{{1} }或1st February 2020。因此,这里的关键是验证数据集及其来源。您可以将多种直觉技术应用于数据,例如,如果数据来自美国,通用日期格式为2nd January 2020或印度为MM/DD/YYYY

示例

DD-MM-YY

CODE-引发错误

>>> import pandas as pd
>>> df = pd.DataFrame({'dt': ['1-1-2020', '15-2-2020', '3-24-2020']})
>>> df
          dt
0   1-1-2020
1  15-2-2020
2  3-24-2020

答案 1 :(得分:0)

下面的代码对我有用:

df['date'] = pd.to_datetime(df['date'], format = '%d-%m-%Y', unit='ns')

df['date'] = pd.to_datetime(df['date'], format = '%d-%m-%Y')
df['date'] = pd.to_datetime(df.date, unit='ns')