如何在 pandas df 中将字符串转换为日期

How to convert string to date in pandas df

我有一个数据框df_cc_su,我想比较两个属性 CalculationDateKey 和 AgreementStartDate 是否在同一年月内。

CalculationDateKey 样本:20220331、20220229、20220132(字符串) 协议开始日期示例:2022-03-17、2022-02-27、2022-01-01(日期格式)

我尝试将 CalculationDateKey 中的字符串值转换为日期时间:

df_cc_su['CalculationDateKey_date'] = pd.to_datetime(df_cc_su['CalculationDateKey'], format="%Y/%m/%d")

这导致所有“1970-01-01 00:00:00.020220331”值。

使用format="%Y%m%d",因为你的数据中没有/分隔符,也不存在20220132,所以如果添加[=15=,则会生成错误的值NaT ]:

df_cc_su['CalculationDateKey_date'] = pd.to_datetime(df_cc_su['CalculationDateKey'], 
                                                     format="%Y%m%d",
                                                     errors='coerce')