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

DataFrame.eq(self,other,axis ='columns',level = None)

dataframe与其他明确的元素进行等于比较(二进制运算符eq)。比较DataFrames元素是否相等。

在灵活的包装器(eq,ne,le,lt,ge,gt)之间进行比较。等效于==,=!,<=,<,> =,>,并支持选择轴(行或列)和级别进行比较。

参数

other  : scalar, sequence, Series, 或 DataFrame

任何单个或多个元素的数据结构,或类似列表的对象。

axis : {0或'index',1或'columns'},默认为'columns'

是按索引(0或“索引”)还是按列(1或“列”)进行比较。

level : 整数或标签

在一个级别上广播,在传递的MultiIndex级别上匹配索引值。

返回

布尔值的DataFrame

比较结果。

Notes

不匹配的索引将合并在一起。 NaN值被认为是不同的(即NaN!= NaN)。

例子

>>> df = pd.DataFrame({'cost': [250, 150, 100],
... 'revenue': [100, 250, 300]},
... index=['A', 'B', 'C'])
>>> df
cost revenue
A 250 100
B 150 250
C 100 300

使用运算符或方法与标量进行比较:

>>> df == 100
cost revenue
A False True
B False False
C True False
>>> df.eq(100)
cost revenue
A False True
B False False
C True False

当其他是Series,一个数据帧的列与指数对准其他和广播:

>>> df != pd.Series([100, 250], index=["cost", "revenue"])
cost revenue
A True True
B True False
C False True

使用该方法控制广播轴:

>>> df.ne(pd.Series([100, 300], index=["A", "D"]), axis='index')
cost revenue
A True False
B True True
C True True
D True True

与任意序列进行比较时,列数必须与other中的元素数匹配:

>>> df == [250, 100]
cost revenue
A True True
B False False
C False False

使用该方法控制轴:

>>> df.eq([250, 250, 100], axis='index')
cost revenue
A True False
B False True
C True False

比较不同形状的DataFrame

>>> other = pd.DataFrame({'revenue': [300, 250, 100, 150]},
... index=['A', 'B', 'C', 'D'])
>>> other
revenue
A 300
B 250
C 100
D 150
>>> df.gt(other)
cost revenue
A False False
B False False
C False True
D False False

按级别与MultiIndex进行比较

>>> df_multindex = pd.DataFrame({'cost': [250, 150, 100, 150, 300, 220],
... 'revenue': [100, 250, 300, 200, 175, 225]},
... index=[['Q1', 'Q1', 'Q1', 'Q2', 'Q2', 'Q2'],
... ['A', 'B', 'C', 'A', 'B', 'C']])
>>> df_multindex
cost revenue
Q1 A 250 100
B 150 250
C 100 300
Q2 A 150 200
B 300 175
C 220 225
>>> df.le(df_multindex, level=1)
cost revenue
Q1 A True True
B True True
C True True
Q2 A False True
B True False
C True False