如何从一列中获取不包含在另一列中的id列表

2024-04-23 20:39:02 发布

您现在位置:Python中文网/ 问答频道 /正文

pandas dataframe有两个列,其中包含需要获取id的id列表,而在其他列中不包含

id  Column_1    Column_2
1   [1,2,5,7,9] [1,2,5,7]
2   [4,8,2,7]   [4,8,2,7]
3   [5,7,2,9]   [9] 
4   [4,7,2,9]   [3]


I want to  result like
id  Column_1    Column_2    result
1   [1,2,7]     [1,2,5,7,9] [5,9]
2   [4,8,2,7]   [4,8,2,7]   []
3   [5,7,2,9]   [9]         []
4   [4,7,2,9]   [3]         [3]


Tags: toiddataframepandas列表columnresultlike
1条回答
网友
1楼 · 发布于 2024-04-23 20:39:02

将值转换为集合并获得差异:

df['Column_3'] = [list(set(y).difference(x)) for x, y in zip(df['Column_1'], df['Column_2'])]
print (df)
   id      Column_1         Column_2 Column_3
0   1     [1, 2, 7]  [1, 2, 5, 7, 9]   [9, 5]
1   2  [4, 8, 2, 7]     [4, 8, 2, 7]       []
2   3  [5, 7, 2, 9]              [9]       []
3   4  [4, 7, 2, 9]              [3]      [3]

相关问题 更多 >