gpt4 book ai didi

python - 从列表的 Pandas 列中,如何删除不在另一列列表中的所有值?

转载 作者:行者123 更新时间:2023-12-03 19:04:28 25 4
gpt4 key购买 nike

我在数据框中有两个列表列。一列具有唯一的列表元素,另一列具有重复的列表元素。我如何将两列和列表元素的准确出现次数(包括重复项)比较到新的数据框列中。
例子:

df = pd.DataFrame({'A':[['1', '2'],['3', '4'],['8','9']],
'B':[['1', '1', '2'],['3', '3', '3', '4', '4', '5'],['2','2']]})
print(df)

A B
0 [1, 2] [1, 1, 2]
1 [3, 4] [3, 3, 3, 4, 4, 5]
2 [8, 9] [2, 2]
期望输出:
    A                   B                C
0 [1, 2] [1, 1, 2] [1, 1, 2]
1 [3, 4] [3, 3, 3, 4, 4, 5] [3, 3, 3, 4, 4]
2 [8, 9] [2, 2] []

最佳答案

让我们用 zip 检查 for 循环

df['C'] = [[z for z in y if z in x ] for x , y in zip(df.A, df.B)]
df
A B C
0 [1, 2] [1, 1, 2] [1, 1, 2]
1 [3, 4] [3, 3, 3, 4, 4, 5] [3, 3, 3, 4, 4]
2 [8, 9] [2, 2] []

关于python - 从列表的 Pandas 列中,如何删除不在另一列列表中的所有值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64001496/

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