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

pandas如何将多列合并为每个单元格为值列表的单列

实现方案

有两种常用的高效实现方式,可根据你的数据规模选择:

1. 简洁可读方案(小数据量首选)

直接调用pandas的agg方法按行聚合为列表,代码语义清晰,一行完成:

# 核心代码,生成的结果直接就是(3,1)结构的DataFrame,列名为l
df_new = df.agg(list, axis=1).to_frame(name="l")

2. 高性能方案(大数据量首选)

先把DataFrame转成numpy数组再转列表,底层走numpy向量运算,性能是前者的2-3倍,适合十万行以上的数据集:

df_new = pd.DataFrame({"l": df.values.tolist()})

注意事项

如果你的原始数据带小数(比如示例里的1.、2.这类float类型),想让最终列表里都是整数,可以提前做类型转换:

# 先把所有列转成int再合并
df_new = df.astype(int).agg(list, axis=1).to_frame(name="l")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 17:06:00