Pandas:检查 to_datetime 函数中的无效值

Pandas: checking invalid values in to_datetime function

我正在尝试使用以下方法将字符串转换为日期类型:

df.apply(pd.to_datetime)

抛出:('month must be in 1..12', 'occurred at index 'my_column')

添加错误='coerce' 修复问题

df.apply(pd.to_datetime, errors='coerce')

但是有什么方法可以检查并显示无效值吗?

您可以只创建一个新列然后使用布尔索引:

# sample data
df = pd.DataFrame({'str':['2019-01-01', '2019-02-01', '2019-13-01']})
# adding a new column that is datetime
df['date'] = pd.to_datetime(df['str'], errors='coerce')
# boolean indexing
df[df['date'].isna()]


        str     date
2   2019-13-01   NaT