pandas DataFrame日期列与指定日期计算天数差报错如何处理
报错原因及修复代码
- 报错核心原因:从CSV导入的
date列默认是字符串格式,无法直接和字符串类型的基准日期做算术运算,需要先统一转换为pandas datetime格式再计算差值。
完整实现代码
import pandas as pd # 转换date列为datetime格式,指定格式匹配你提供的月/日/年结构,避免解析错误 output['date'] = pd.to_datetime(output['date'], format='%m/%d/%Y') # 定义基准日期,同样转为datetime格式 base_date = pd.to_datetime('6/1/2021', format='%m/%d/%Y') # 计算天数差,通过dt.days提取整数天数结果 output['Actual Days Difference'] = (output['date'] - base_date).dt.days
可选优化:如果
date列存在不符合格式的异常值,可以在pd.to_datetime方法中添加errors='coerce'参数,将无效日期转为空值NaN,避免转换过程中断。
内容的提问来源于stack exchange,提问作者Camilla
相关产品推荐
相关产品推荐

