pandas.DataFrame.isin #

数据框。isin () [来源] #

DataFrame 中的每个元素是否包含在值中。

参数
iterable、Series、DataFrame 或 dict

仅当所有标签都匹配时,结果才会在某个位置为真。如果values是一个Series,那就是索引。如果 value是字典,则键必须是列名,并且必须匹配。如果value是 DataFrame,则索引标签和列标签必须匹配。

返回
数据框

布尔值的 DataFrame,显示 DataFrame 中的每个元素是否包含在值中。

也可以看看

DataFrame.eq

DataFrame 的相等性测试。

Series.isin

系列上的等效方法。

Series.str.contains

测试模式或正则表达式是否包含在系列或索引的字符串中。

例子

>>> df = pd.DataFrame({'num_legs': [2, 4], 'num_wings': [2, 0]},
...                   index=['falcon', 'dog'])
>>> df
        num_legs  num_wings
falcon         2          2
dog            4          0

When valuesis a list 检查 DataFrame 中的每个值是否都出现在列表中(哪些动物有 0 或 2 条腿或翅膀)

>>> df.isin([0, 2])
        num_legs  num_wings
falcon      True       True
dog        False       True

要检查 是否values不在DataFrame 中,请使用运算~符:

>>> ~df.isin([0, 2])
        num_legs  num_wings
falcon     False      False
dog         True      False

values是 dict 时,我们可以传递值来分别检查每一列:

>>> df.isin({'num_wings': [0, 3]})
        num_legs  num_wings
falcon     False      False
dog        False       True

values是 Series 或 DataFrame 时,索引和列必须匹配。请注意,“falcon”不会根据 other 中的腿数进行匹配。

>>> other = pd.DataFrame({'num_legs': [8, 3], 'num_wings': [0, 2]},
...                      index=['spider', 'falcon'])
>>> df.isin(other)
        num_legs  num_wings
falcon     False       True
dog        False      False