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

Pandas拆分Select Investors列报错求助:Columns must be same length as key

解决拆分投资者列时的ValueError问题

错误原因很明确:你指定了3个目标列(tier1/tier2/tier3),但str.split(',', expand=True)拆分后生成的列数和这3个列的数量不匹配——部分公司的投资者数量多于3个,拆分后列数超过3;有的少于3个,列数不足,导致赋值时长度不匹配触发报错。

两种解决方式:

  1. 自动适配所有投资者列
    先计算拆分后最多有多少个投资者,再生成对应数量的列名,确保完全匹配:

    # 计算单条数据拆分后的最大投资者数量
    max_investor_count = df_worldunicorns['Select Investors'].str.split(',').str.len().max()
    # 生成对应列名,比如investor1、investor2...
    investor_columns = [f'investor{i+1}' for i in range(max_investor_count)]
    # 拆分并赋值
    df_worldunicorns[investor_columns] = df_worldunicorns['Select Investors'].str.split(',', expand=True)
    
  2. 只保留前3个投资者
    如果只需要前3个投资者,给str.split()加n=2参数限制拆分次数,这样最多拆成3列,不足的自动补NaN:

    df_worldunicorns[['tier1','tier2','tier3']] = df_worldunicorns['Select Investors'].str.split(',', n=2, expand=True)
    

额外提示:拆分后建议清理投资者名字前后的空格,避免数据混乱:

# 拆分同时清理每个投资者名字的前后空格
df_worldunicorns[investor_columns] = df_worldunicorns['Select Investors'].str.split(',', expand=True).apply(lambda x: x.str.strip())

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 11:57:44