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

Pandas从带单数字月份的日期串提取月份时出现int() base10错误如何解决

Pandas 非补零格式日期提取月份报错解决方案

你的报错原因推断完全正确:1-9月的日期格式为M/DD/YYYY,仅1位月份,截取前两位会得到带/的非法字符串,无法转换为整数。以下是两种可直接落地的处理方案:

  • 方案1:按分隔符分割提取(无需修改原日期列,仅需提取月份时首选)
# 按/分割日期字符串,直接取第一个元素即为月份,再转整数
all_data['Month'] = all_data['Order Date'].str.split('/').str[0].astype('int32')
all_data.head()
  • 方案2:转换为标准 datetime 类型提取(推荐,适合后续有其他日期计算需求的场景)
import pandas as pd
# 先将Order Date列转为pandas标准时间类型,指定对应格式即可自动识别非补零的月份
all_data['Order Date'] = pd.to_datetime(all_data['Order Date'], format='%m/%d/%Y')
# 直接通过dt属性提取月份,输出本身就是整数类型无需额外转换
all_data['Month'] = all_data['Order Date'].dt.month
all_data.head()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 06:09:02