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

字符串转Python datetime报错:pandas代码出现AttributeError问题排查

问题分析与解决

代码问题根源

直接把pd.DataFrame对象传给pd.to_datetime是错误的——这个函数的设计目标是处理一维数据(比如列表、Series),而非二维的DataFrame。

当传入DataFrame时,pandas会将其解析为「列名-列数据」的映射结构(类似字典),这里你的DataFrame列名是整数0。内部处理逻辑会尝试对列名调用lower()方法(用于识别时间单位),但整数类型没有这个方法,于是触发AttributeError: 'int' object has no attribute 'lower'错误。

修复方案

有几种简单的修复方式:

  1. 将DataFrame转为Series:用squeeze()把单列DataFrame压缩成一维Series
import pandas as pd
pd.to_datetime(pd.DataFrame(['12/4/1982']).squeeze())
  1. 直接提取DataFrame的列:通过列索引获取一维数据
import pandas as pd
pd.to_datetime(pd.DataFrame(['12/4/1982'])[0])
  1. 直接使用Series而非DataFrame:如果不需要二维结构,一开始就创建Series
import pandas as pd
pd.to_datetime(pd.Series(['12/4/1982']))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 17:46:00