python - 如何确定数据框列是否包含特定列表,与其顺序无关?
问题描述
我有这个数据框:
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],而不关心列表的顺序(列内的列表作为要检查的列表)。因此,我想在这里得到一个真实的答案。
我该怎么办?
谢谢
解决方案
如果值不重复,您可以比较set
s:
L = ['B','A','D']
print (df['Col1'].map(set).eq(set(L)))
0 False
1 True
2 False
Name: Col1, dtype: bool
如果想要标量输出-True
或测试列中False
是否至少有一个:True
Series.any
print (df['Col1'].map(set).eq(set(['B','A','D'])).any())
True
推荐阅读
- c++ - QtBluetooth Win10,如何检查蓝牙适配器是否可用并打开?
- javascript - 将字符串写入 Hrefs 但忽略某些类
- c# - 如何让 C# 中的媒体播放器识别我的路径?
- bash - 如何从循环将多个文件通过管道传输到 tesseract-ocr
- standard-deviation - 在 Pandas 中需要一种方法来执行稳健的标准差
- create-react-app - 内容安全策略和 Office UI Fabric
- ansible - Ansible:删除文件和文件夹,同时排除一些
- c# - 找不到 Prism.Navigation.TabbedPages 命名空间
- c++ - 使用 BLAS 和 LAPACKE 在 C++ 中使用 SVD 计算 Pseidoinverse
- android - 为什么我的 edittext 布局和键盘重叠?