【发布时间】:2017-09-26 13:13:24
【问题描述】:
我有一个数据框如下:
data={'NAME':['JOHN','MARY','CHARLIE'],
'A':[[1,2,3],[2,3,4],[3,4,5]],
'B':[[2,3,4],[3,4,5],[4,5,6]],
'C':[[2,4],[3,4],[6,7]] }
df=pd.DataFrame(data)
df=df[['NAME','A','B','C']]
NAME A B C
0 JOHN [1, 2, 3] [2, 3, 4] [2, 4]
1 MARY [2, 3, 4] [3, 4, 5] [3, 4]
2 CHARLIE [3, 4, 5] [4, 5, 6] [6, 7]
我需要所有列 A、B、C 的交集。
我尝试了以下代码,但没有成功:
df['D']=list(set(df['A'])&set(df['B'])&set(df['C']))
需要的输出如下:
NAME A B C D
0 JOHN [1, 2, 3] [2, 3, 4] [2, 4] [2]
1 MARY [2, 3, 4] [3, 4, 5] [3, 4] [3, 4]
2 CHARLIE [3, 4, 5] [4, 5, 6] [6, 7] []
【问题讨论】: