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

如何基于Pandas DataFrame所有列的值生成列表并添加为新列?

将Pandas DataFrame行数据合并为列表并添加为新列

要把df1每行的多列数据合并成列表,再添加为原DataFrame的新列,有两种简单高效的方法:

方法1:使用apply+tolist(直观易懂)

直接对每行数据调用tolist(),将整行转成列表后赋值给新列:

import pandas as pd

df1 = pd.DataFrame(list(zip([1,2,3], [4,5,6], [7,8,9])), 
                   columns=['numbers', 'numbers2', 'numbers3'])

# 添加新列
df1['list_of_numbers'] = df1.apply(lambda row: row.tolist(), axis=1)

方法2:使用agg方法(性能更优)

如果处理的是大数据集,用Pandas内置的agg方法效率更高:

# 替换apply的写法,效果相同但速度更快
df1['list_of_numbers'] = df1.agg(list, axis=1)

自定义列范围

如果不需要把所有列都转成列表,只需指定目标列即可:

# 仅将numbers和numbers2列转为列表
df1['partial_list'] = df1[['numbers', 'numbers2']].agg(list, axis=1)

执行后,df1就会新增list_of_numbers列,其中每个元素都是对应行的数值列表,和你给出的df2结构完全匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 21:52:02