dask_expr._collection.Series.isin

dask_expr._collection.Series.isin

Series.isin(values)

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

此文档字符串是从 pandas.core.frame.DataFrame.isin 复制而来的。

Dask 版本可能存在一些不一致性。

参数
可迭代对象、Series、DataFrame 或字典

只有在所有标签匹配的情况下,结果才会为真。如果 values 是一个 Series,那么索引就是它。如果 values 是一个字典,键必须是列名,并且必须匹配。如果 values 是一个 DataFrame,那么索引和列标签都必须匹配。

返回
DataFrame

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

参见

DataFrame.eq

DataFrame 的相等性测试。

Series.isin

Series 上的等效方法。

Series.str.contains

测试模式或正则表达式是否包含在 Series 或 Index 的字符串中。

示例

>>> 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

values 是一个列表时,检查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 是一个字典时,我们可以为每一列单独传递要检查的值:

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

values 是一个 Series 或 DataFrame 时,索引和列必须匹配。注意,’falcon’ 不会基于其他对象中的腿的数量进行匹配。

>>> 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