如何测试是否在pandas DataFrame的多个列中共享了值?例如,这没关系:
A B C
0 aaa fff lll
1 bbb ggg mmm
2 ccc hhh nnn
3 ddd iii ooo
4 eee jjj ppp
但这不是
A B C
0 aaa fff lll
1 bbb ggg mmm
2 ccc hhh nnn
3 ddd iii bbb
4 eee jjj ppp
因为bbb
存在于多个列(A和C)中。
答案 0 :(得分:1)
首先在所有列组合之间进行交集,转换为/node_modules/@angular/...
,然后转换为ncu
并测试至少一个numpy array
:
boolean
对于第一个df:
True
第二个df:
from itertools import combinations
a = [set(df[i[0]]) & set(df[i[1]]) for i in combinations(df.columns,2)]
b = np.array(a).astype(bool).any()
有关更多信息,可以使用(未经测试):
print (a)
[set(), set(), set()]
print (b)
False