作大型数据集所需的工具。Pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。本文主要介绍一下Pandas中pandas.DataFrame.ne方法的使用。

DataFrame.ne(self, other, axis='columns', level=None)  [source]

获取不等于dataframe和其他按元素计的值(二进制运算符ne)。

在灵活的包装器(eq,ne,le,lt,ge,gt)之间进行比较运算符。

等效于==,=!,<=,<,> =,>,并支持选择轴(行或列)和级别进行比较。

参数

other : scalar, sequence, Series, 或 DataFrame

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

axis :{0 或 ‘index’, 1 或 ‘columns’}

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

level :int label

在一个级别上广播,在传递的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