use*_*146 2 python dataframe pandas
当我检查这种pandas 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
Run Code Online (Sandbox Code Playgroud)
但是df0 != df1会引发以下错误:
ValueError: Can only compare identically-labeled DataFrame objects
Run Code Online (Sandbox Code Playgroud)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
Run Code Online (Sandbox Code Playgroud)
后者也可以解决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
Run Code Online (Sandbox Code Playgroud)