我读了一个包含日期的CSV文件。某些日期可能格式错误,我想找到这些日期。使用以下方法,我将期望第二行为NaT
。但是无论我设置infer_datetime_format
还是exact
,熊猫似乎都会忽略指定的格式。
import pandas as pd
from io import StringIO
DATA = StringIO("""date
2019 10 07
2018 10
""")
df = pd.read_csv(DATA)
df['date'] = pd.to_datetime(df['date'],format="%Y %m %d",errors='coerce',exact=True)
产生
date
0 2019-10-07
1 2018-10-01
pandas.to_datetime文档引用了strftime() and strptime() Behavior,但是当我使用普通Python测试它时,它可以工作:
datetime.datetime.strptime(' 2018 10','%Y %m %d')
我得到期望值错误:
ValueError: time data ' 2018 10' does not match format '%Y %m %d'
我想念什么?
仅供参考:这个问题pandas to_datetime not working似乎相关,但有所不同,目前似乎已经解决。我的熊猫版本为0.25.2。