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

如何在Pandas中将多列合并为列表形式的单列?

解决DataFrame多列合并为列表列的问题

你之前的代码报错,是因为list((df['kw1'], df['kw2'], df['kw3']))生成的是包含3个Series的列表,长度仅为3,但你的DataFrame有141行,赋值时长度不匹配自然触发ValueError。

下面是几种正确的实现方式:

  • 方法一:使用apply按行生成列表
    逻辑直观,适合快速理解:

    df['keywords'] = df.apply(lambda row: [row['kw1'], row['kw2'], row['kw3']], axis=1)
    
  • 方法二:用to_numpy转数组后转列表(效率更高)
    处理大数据量时优先选择,性能优于apply:

    df['keywords'] = df[['kw1', 'kw2', 'kw3']].to_numpy().tolist()
    
  • 方法三:使用agg方法聚合
    利用pandas聚合函数直接按行生成列表:

    df['keywords'] = df[['kw1', 'kw2', 'kw3']].agg(list, axis=1)
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 02:15:57