You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python使用函数修改DataFrame日期列时出现时间数据错误如何解决

错误原因
  • 传参错误:调用函数时第一个参数传入了字符串'df',而非实际的DataFrame对象,函数内部拿到的是纯文本而非目标数据集
  • 列访问逻辑错误:通过字符串拼接x + '[' + y + ']'的方式尝试访问列,最终只会得到普通字符串"df[Start Date]",而非DataFrame对应的列数据,pandas尝试将该字符串按日期格式转换时直接匹配失败
  • 无返回值缺陷:原函数既没有返回修改后的DataFrame,也没有直接修改原对象,即使逻辑修正也无法拿到转换后的结果
修复后的实现代码
def datesqltoexcel(df, dtcol):
    # 直接访问指定列完成转换
    df[dtcol] = pd.to_datetime(df[dtcol], format='%Y-%m-%d')
    df[dtcol] = df[dtcol].dt.strftime('%d/%m/%Y')
    # 返回修改后的DataFrame
    return df

# 调用时直接传入DataFrame对象,不要加引号包裹
df = datesqltoexcel(df, 'Start Date')

优化说明:直接使用Series自带的dt.strftime方法替代apply lambda,属于矢量化操作,执行效率更高。

内容的提问来源于stack exchange,提问作者CGarden

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 15:36:03