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

如何将Pandas DataFrame新增列的集合转换为列表?

解决Pandas中集合转列表的列生成问题

原始DataFrame如下:

fruit1                   fruit2
[banana,apple,orange]    [apple,nuts,strawberry]
[apple,mango,grape]      [apple,mango,grape,guava]

你当前的代码通过集合差集生成新列,但返回结果是集合格式,不符合预期的列表需求:

df["fruits_added"] = df.apply(lambda row: set(row.fruit2) - set(row.fruit1), axis=1)
df["fruits_deleted"] = df.apply(lambda row: set(row.fruit1) - set(row.fruit2), axis=1)

修改方案

只需把集合运算的结果用list()包裹,就能直接转换成列表格式:

df["fruits_added"] = df.apply(lambda row: list(set(row.fruit2) - set(row.fruit1)), axis=1)
df["fruits_deleted"] = df.apply(lambda row: list(set(row.fruit1) - set(row.fruit2)), axis=1)

最终输出

修改后生成的DataFrame会符合预期:

fruit1                   fruit2                       fruits_added         fruits_deleted
[banana,apple,orange]    [apple,nuts,strawberry]    [strawberry,nuts]     [banana,orange]
[apple,mango,grape]      [apple,mango,grape,guava]    [guava]               []

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 09:40:25