我有一个包含多列的数据框,
data={'NAME':['A','B','C'],
'A':[[1,2,3],[np.nan],[3,4,5]],
'B':[[2,3,4],[3,4,5],[np.nan]],
'C':[[2,4],[3],[6,7]] }
df=pd.DataFrame(data)
df=df[['A','B','C']]
我可以使用来交叉列
df.assign(D=df.apply(
lambda x: list(set(x.A).intersection(set(x.B)).intersection(set(x.C))),
axis=1))
这将创建一个D列,
D
[2]
[]
[]
但是我想忽略具有na值的单元格并得到交点, 预期输出为
D
[2]
[3]
[]
如何执行此操作? 感谢您的帮助。