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

处理社交媒体数据集时pd.to_datetime转换日期报ParserError如何解决

问题解决方法

错误原因说明

  • 概率最高的原因:读取数据集时未正确识别表头,导致列名created_at被当成了数据行内容,转换时遇到纯字符串created_at无法解析
  • 次要原因:你的时间字符串包含固定时区标识ET、12小时制+AM/PM、星期缩写等特殊格式,pandas默认的自动解析规则无法匹配

具体解决步骤

步骤1:排查数据读取问题

先执行以下代码检查列内容:

print(data['created_at'].head())

如果输出结果第一行是created_at,说明表头被当成了数据,重新读取数据时指定表头参数即可:

data = pd.read_csv('你的社交媒体数据路径.csv', header=0)

步骤2:指定时间格式完成转换

针对你给出的7:51 PM ET Fri, 17 July 2020格式,手动指定匹配的格式串,同时可以加errors='coerce'处理少量脏数据,避免程序直接中断:

# 先把字符串转成datetime类型
data['created_at'] = pd.to_datetime(
    data['created_at'],
    format='%I:%M %p ET %a, %d %B %Y',
    errors='coerce'
)
# 转成YYYY-MM-DD格式的日期字符串,和股票数据格式对齐
data['trade_date'] = data['created_at'].dt.strftime('%Y-%m-%d')

如果后续需要做时间计算,也可以用data['created_at'].dt.date保留日期类型而非字符串。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 07:12:01