Pandas是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。Pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。本文主要介绍一下Pandas中pandas.DataFrame.isin方法的使用。

DataFrame.isin(self, values)                 [source]

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

参数:

values  iterable, Series, DataFramedict

如果所有标签都匹配,则结果仅在某个位置为true。

如果values是Series,那就是索引。

如果 values是一个dict,则键必须是必须匹配的列名。

如果值是DataFrame,则索引标签和列标签都必须匹配。

返回值:

DataFrame

布尔值的DataFrame,

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

例子

>>> 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是dict时,我们可以传递值以分别检查每一列:

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

当values是Series或DataFrame时,索引和列必须匹配。请注意,“ falcon”与df2中的支路数量不匹配

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