如何筛选Pandas Series中无法转换为datetime类型的日期值
一行式解决Pandas无效日期筛选/统计/移除需求
筛选无法转换为datetime的行
invalid_rows = df[pd.to_datetime(df['date'], errors='coerce').isnull()]
统计无效日期的数量
invalid_count = pd.to_datetime(df['date'], errors='coerce').isnull().sum()
移除无效日期行,得到清洗后的DataFrame
clean_df = df[pd.to_datetime(df['date'], errors='coerce').notnull()]
原理说明
pd.to_datetime(df['date'], errors='coerce')会将可转换的日期字符串转为datetime对象,无法转换的则转为NaT(Pandas专属的缺失时间值)- 调用
.isnull()生成布尔Series,直接用于原DataFrame的索引筛选,无需额外创建新列
内容的提问来源于stack exchange,提问作者Francisco Cortes
相关产品推荐
相关产品推荐

