pandas.DataFrame.isin#
- DataFrame.isin(values)[源代码]#
DataFrame中的每个元素是否包含在values中。
- Parameters:
- values可迭代对象、Series、DataFrame 或 dict
只有当所有标签都匹配时,结果才会在某个位置为 True。如果 values 是 Series,则它是索引。如果 values 是 dict,则键必须是列名,并且必须匹配。如果 values 是 DataFrame,则索引和列标签都必须匹配。
- Returns:
- DataFrame
布尔 DataFrame,显示 DataFrame 中的每个元素是否包含在 values 中。
参见
DataFrame.eqDataFrame 的相等性测试。
Series.isinSeries 上的等效方法。
Series.str.contains测试模式或正则表达式是否包含在 Series 或 Index 的字符串中。
Examples
>>> 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是一个 dict 时,我们可以为每个列单独传入要检查的值:>>> 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