Python 什么是dataframe.ne方法以及为什么使用它?
当我检查这个pandasPython 什么是dataframe.ne方法以及为什么使用它?,python,pandas,dataframe,Python,Pandas,Dataframe,当我检查这个pandasdataframe.ne方法时,文档说它是一个灵活比较的包装器。我在熊猫的文档中找不到任何关于这一点的适当例子。为什么我们使用这个df.ne,以及它如何使数据操作更容易或更灵活?对于相同的方法,是否可以给我举一个使用df.ne和不使用df.ne的例子,这将有助于我理解 检查是否实现了DataFrame.ne。代码并不难理解 本质上,DataFrame.ne提供了一种更灵活的执行不等式比较的方法。您还可以指定使用时无法指定的其他参数=操作员 示例: DataFrame.ne
dataframe.ne
方法时,文档说它是一个灵活比较的包装器。我在熊猫的文档中找不到任何关于这一点的适当例子。为什么我们使用这个df.ne
,以及它如何使数据操作更容易或更灵活?对于相同的方法,是否可以给我举一个使用df.ne
和不使用df.ne
的例子,这将有助于我理解 检查是否实现了DataFrame.ne
。代码并不难理解
本质上,DataFrame.ne
提供了一种更灵活的执行不等式比较的方法。您还可以指定使用时无法指定的其他参数=代码>操作员
示例:
DataFrame.ne
允许在索引不对齐的两个数据帧之间进行比较
df0 = pd.DataFrame({'a': [1,2,3], 'b': [0.1, 0.3, 0.9], 'c': [2,4,6]}, index=list('abc'))
df1 = pd.DataFrame({'a': [3,2,1], 'b': [0.9, 0.3, 0.1], 'c': [6,4,2]}, index=list('cba'))
df0.ne(df1)
# outputs:
a b c
a False False False
b False False False
c False False False
但是df0!=df1
引发以下错误:
ValueError: Can only compare identically-labeled DataFrame objects
DataFrame.ne
接受一系列参数&axis
和level
s1 = pd.Series([1,2,3], index=list('abc'))
df0.ne(s1, axis=0)
a b c
a False True True
b False True True
c False True True
df0.ne(s1, axis=1)
a b c
a False True True
b True True True
c True True True
后者可以通过df0!=s1也一样,但不是前者
DataFrame.ne
也接受标量作为参数
df0.ne(1)
# outputs a dataframe where all values are true
a b c
a False True True
b True True True
c True True True
基本上,ne
代表(不等于)。此方法是python核心运算符重载实现的一部分
名为_ne__()的神奇方法
Pandas直接从核心python实现派生出此方法。并为系列定制了它,为状态检查定制了数据框。
它返回布尔值以检查条件
示例:-
ne(a, b) is equivalent to a != b
>>> a = pd.Series([1, 1, 1, np.nan], index=['a', 'b', 'c', 'd'])
>>> b = pd.Series([1, np.nan, 1, np.nan], index=['a', 'b', 'd', 'e'])
>>> a
a 1.0
b 1.0
c 1.0
d NaN
dtype: float64
>>> b
a 1.0
b NaN
d 1.0
e NaN
dtype: float64
>>> a.ne(b,fill_value=0)
a False
b True
c True
d True
e True
dtype: bool
>>>
系列的示例代码:-
ne(a, b) is equivalent to a != b
>>> a = pd.Series([1, 1, 1, np.nan], index=['a', 'b', 'c', 'd'])
>>> b = pd.Series([1, np.nan, 1, np.nan], index=['a', 'b', 'd', 'e'])
>>> a
a 1.0
b 1.0
c 1.0
d NaN
dtype: float64
>>> b
a 1.0
b NaN
d 1.0
e NaN
dtype: float64
>>> a.ne(b,fill_value=0)
a False
b True
c True
d True
e True
dtype: bool
>>>
df.ne还用于要执行的任何列检查。
例如:
not3=3