python - 如何确定数据框列是否包含特定列表,与其顺序无关?

标签 python pandas

我有这个数据框:

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

如果想要标量输出 - TrueFalse 测试 Series.any 列中是否至少有一个 True :

print (df['Col1'].map(set).eq(set(['B','A','D'])).any())
True

关于python - 如何确定数据框列是否包含特定列表,与其顺序无关?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58628381/

相关文章:

Python 数据框 : Dropping duplicates base on certain conditions

每次 Python Pygame 文本叠加打印在其自身之上

python - 如何制作可执行 shell 脚本来运行我的 .py 程序并输入文件

python - 在 Pandas 中使用 read_csv 读取最后几行

python - 如何在 3D-Pandas Dataframe 中查找包含特定子列/嵌套列的列

python - 如何使用 lambda/maps 从字典中获取列表?

python - 如何根据与其他匹配项的接近程度来过滤外围匹配项?

python - 从 Pandas DataFrame 中提取数组(列名、数据)

python - 使用多索引绘制 matplotlib 表

python - Pandas:导入带有多个工作表的 xlsx,将列添加到每个 df 及其所属工作表的名称,连接具有相同列数的 df