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

pandas如何将多列列表数据合并为嵌套列表并存入新列

实现方案

你可以通过两种方式实现需求,分别适配不同数据量场景:

方式1:使用apply逐行处理(写法简单,适合中小数据量)

直接使用pandas的apply方法指定axis=1逐行读取三列数据传入自定义函数即可,完整代码示例:

import pandas as pd

# 构造你的示例DataFrame
df = pd.DataFrame({
    "col1": [[1,2,3,4]],
    "col2": [[1,2,3,4]],
    "col3": [[1,2,3,4]]
})

# 你定义的joiner函数
def joiner(col1,col2,col3):
    snip = []
    snip.append(col1)
    snip.append(col2)
    snip.append(col3)
    return snip

# 逐行调用函数生成新列col4
df["col4"] = df.apply(lambda row: joiner(row["col1"], row["col2"], row["col3"]), axis=1)
# 更简洁的等价写法:df["col4"] = df.apply(lambda x: joiner(*x), axis=1)

方式2:使用列表推导式(性能更高,适合大数据量)

如果你的DataFrame行数较多,列表推导式的执行效率远高于apply方法,写法如下:

df["col4"] = [joiner(a, b, c) for a, b, c in zip(df["col1"], df["col2"], df["col3"])]

两种写法执行后得到的df都完全符合你给出的预期输出效果。


内容的提问来源于stack exchange,提问作者Matthew D'vertola

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 16:15:09