我有这个数据框:
df = pd.DataFrame()
df['Col1'] = [['B'],['A','D','B'],['D','C']]
df['Col2'] = [1,2,4]
df
Col1 Col2
0 [B] 1
1 [A,D,B] 2
2 [D,C] 4
我想知道 Col1 是否包含列表 [B,A,D],而不关心列表的顺序(列内的列表作为要检查的列表)。 因此我想在这里得到一个真实的答案。
我该怎么办?
谢谢
最佳答案
如果值不重复,您可以比较集合
:
L = ['B','A','D']
print (df['Col1'].map(set).eq(set(L)))
0 False
1 True
2 False
Name: Col1, dtype: bool
如果想要标量输出 - True
或 False
测试 Series.any
列中是否至少有一个 True
:
print (df['Col1'].map(set).eq(set(['B','A','D'])).any())
True
关于python - 如何确定数据框列是否包含特定列表,与其顺序无关?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58628381/