gpt4 book ai didi

python - 如何区分包含列表的数据框中的列?

转载 作者:太空宇宙 更新时间:2023-11-04 00:19:01 25 4
gpt4 key购买 nike

我有两个数据框,其中一列包含列表。我必须区分如下所示的列。

DF1:

A   B
111 [12,13,14,14,15,13]
222 [15,16,17,15,17,17,17]
333 [17,14,16,14,14,17,17,16]
444 [25,26,18,12,12,12,13,18]

DF2:

A   B
111 [12,14]
222 []
333 [17,16]
444 [25,18]

预期输出:

A   B
111 [13,15,13]
222 [15,16,17,15,17,17,17]
333 [14,14,14]
444 [26,12,12,12,13]

最佳答案

您可以利用 Pandas 的合并功能和 Python 的高效 set 数据结构。

首先,合并:

df3 = df1.merge(df2, on='A')

然后,将 df2 的项目放入集合中:

df3.B_y = df3.B_y.apply(set)

现在使用列表理解为每一行迭代不在集合中的 df1 的项目:

df3['res'] = df3.apply(lambda r: [e for e in r.B_x if e not in r.B_Y], axis=1)

关于python - 如何区分包含列表的数据框中的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49870089/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com