首页 > 解决方案 > 检查是否有任何行具有与 numpy 数组相同的值

问题描述

我正在使用pandas.Dataframe如下所示的:

       A  B  C  D
index
    1  0  0  0  1
    2  1  0  0  1 
    3  ... 
    4  ... 
    ...

我正在创建一个numpy.arrays与此数据框中的一行具有相同形状的形状。我想检查我正在创建的数组是否存在于数据框中。例如,在这种情况下,如果我的数组在数据框中,它将如下所示:

  a=  [0,0,0,1]

如果它看起来像这样,则不是:

b = [1,1,1,1]

任何帮助,即使它是指向正确答案的链接,也非常感谢,因为我查看了 stackoverflow,幸运的是我没有错过任何内容。

标签: python-3.xpandasnumpynumpy-ndarray

解决方案


df = pd.DataFrame({'A':[0, 1, 0, 0],
                   'B':[0, 0, 1, 1],
                   'C':[0, 0, 0, 0],
                   'D':[1, 1, 0, 1]})


#    A  B  C  D
# 0  0  0  0  1
# 1  1  0  0  1
# 2  0  1  0  0
# 3  0  1  0  1 



>>> a = [0, 0, 0, 1]
>>> (df == a).all(axis=1).any()
True

>>> b = [1, 1, 1, 1]
>>> (df == b).all(axis=1).any()
False

推荐阅读