python - 如何将数据框唯一值与列表进行比较?

标签 python pandas

我有一个 Panda 数据框列,我想检查列中的所有值是否都来自另一个列表。

例如,我想检查列中的所有值是否都是 AB 而不是其他值。我的代码对于以下输入应返回 true:

myValues = ['A','B']
df = pd.DataFrame(['A','B','B','A'],columns=['Col']) # True
df = pd.DataFrame(['A','A'],columns=['Col']) # True
df = pd.DataFrame(['B'],columns=['Col']) # True
df = pd.DataFrame(['B','C'],columns=['Col']) # False

最佳答案

您可以使用isin并传递您的列表以生成 bool 数组,并使用 all 返回是否所有值都存在:

In [146]:    
myValues = ['A','B']
df = pd.DataFrame(['A','B','B','A'],columns=['Col']) # True
print(df['Col'].isin(myValues).all())
df = pd.DataFrame(['A','A'],columns=['Col']) # True
print(df['Col'].isin(myValues).all())
df = pd.DataFrame(['B'],columns=['Col']) # True
print(df['Col'].isin(myValues).all())
df = pd.DataFrame(['B','C'],columns=['Col']) # False
print(df['Col'].isin(myValues).all())


True
True
True
False

关于python - 如何将数据框唯一值与列表进行比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39594080/

相关文章:

python - mrjob:示例如何自动知道如何在文本文件中查找行?

python - 为 Scikit-Learn 向量化 Pandas 数据框

Python:将初始 numpy 数组分配给另一个变量,更改新变量的几个元素会更改初始 numpy 数组

python - 记录抽象基类的属性?

Python:如何覆盖指针位置的内存?

python - Pandas 多个箱线图 - 如何减少图之间的间距?

python - 填写每组行的数据框值

python - 如何将 Parquet 文件读入 Pandas DataFrame?

pandas 合并两个多级系列

python - 将曲线拟合到散点图的边界