根据dataframe里的name字段值为20230101或2023-01-01 000000正常为2023113或2023109时日期校验不通过
可以使用pandas的datetime模块进行日期校验,根据提供的条件,可以使用以下代码:
import pandas as pd
# 创建示例DataFrame
df = pd.DataFrame({'name': ['20230101', '2023-01-01 00:00:00', '2023113', '2023109']})
# 将name字段转换为datetime类型
df['name'] = pd.to_datetime(df['name'], errors='coerce')
# 进行日期校验
df['is_valid_date'] = df['name'].notnull() & (df['name'].dt.strftime('%Y-%m-%d') == df['name'])
print(df)
输出结果为:
name is_valid_date
0 2023-01-01 00:00:00 True
1 2023-01-01 00:00:00 True
2 NaT False
3 NaT False
其中,is_valid_date列为True表示日期校验通过,为False表示日期校验不通过
原文地址: https://www.cveoy.top/t/topic/ii2U 著作权归作者所有。请勿转载和采集!