pandas.DataFrame.isin#
- DataFrame.isin(values)[源代码][源代码]#
DataFrame 中的每个元素是否包含在值中。
- 参数:
- 值可迭代对象、Series、DataFrame 或 dict
结果只有在所有标签匹配的情况下才会为真。如果 values 是一个 Series,那就是索引。如果 values 是一个字典,键必须是列名,且必须匹配。如果 values 是一个 DataFrame,那么索引和列标签都必须匹配。
- 返回:
- DataFrame
布尔值的 DataFrame,显示 DataFrame 中的每个元素是否包含在值中。
参见
DataFrame.eq
DataFrame 的相等测试。
Series.isin
Series 上的等效方法。
Series.str.contains
测试模式或正则表达式是否包含在 Series 或 Index 的字符串中。
注释
__iter__
在检查DataFrame中是否包含元素时用于遍历值(而不是__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
当
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