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
我正在尝试使用以下方法将字符串转换为日期类型:
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