使用Python循环与if逻辑处理pandas日期列 解决pd.to_datetime识别错误
单字符开头日期补全循环实现代码
假设你的日期字符串列名为date_col,所属DataFrame为df,实现代码如下:
import pandas as pd # 逐行遍历处理日期列 for i in df.index: date_str = df.loc[i, 'date_col'] # 校验字符串第二位是否为/ if len(date_str) > 1 and date_str[1] == '/': df.loc[i, 'date_col'] = '0' + date_str # 处理完成后执行日期转换 df['date_col'] = pd.to_datetime(df['date_col'], format='%d/%m/%Y')
- 如果你的日期格式为
月/日/年,将pd.to_datetime的format参数修改为'%m/%d/%Y'即可 - 代码仅会修改第二位为
/的单字符开头日期,双字符开头的日期(如10/08/2021)会直接跳过不处理 - 处理全程日期列保持object类型,所有字符串修改完成后才会执行类型转换
内容的提问来源于stack exchange,提问作者user3114865
相关产品推荐
相关产品推荐

