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

Pandas正则分割报错ValueError: Columns must be same length as key求助

解决Pandas正则分割报错ValueError: Columns must be same length as key

报错原因

你的代码未限制分割次数,若部分行文本中存在多个符合\d{2}/\d{2}格式的内容,会导致分割结果元素数量超过2个,无法对应到['Auth_date', 'Description']两列;若存在行无法匹配正则规则,分割结果仅1个元素,同样会触发长度不匹配错误。

修正代码

df[['Auth_date', 'Description']] = df['Description'].str.split('(?<=\d{2}/\d{2}) ', n=1, expand=True, regex=True)

参数说明

  • n=1:强制只执行一次分割,确保每个字符串最多拆分为2个部分,避免后续无关的日期格式内容干扰结果
  • expand=True:将分割结果直接展开为DataFrame结构,可安全赋值给目标列,同时自动为匹配失败的行填充NaN

可选补充处理

若存在完全不匹配正则的行,可提前填充缺失值避免后续问题:

split_df = df['Description'].str.split('(?<=\d{2}/\d{2}) ', n=1, expand=True, regex=True)
split_df = split_df.fillna({'Description': ''})  # 为匹配失败的行填充空字符串
df[['Auth_date', 'Description']] = split_df

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 18:36:25