【问题标题】:Pandas df.loc multiple conditions not workingPandas df.loc 多个条件不起作用
【发布时间】:2022-10-19 00:21:10
【问题描述】:

谁能告诉我为什么这不起作用以及如何获得我想要的行为?

df = some dataframe
df = df.where((df['a'] != 1) & (df['b'] != 2))
or
df = df.loc[(df['a'] != 1) & (df['b'] != 2)]

我想过滤我的 df 以仅显示列 a 和 b 分别不同时为 1 和 2 的行。

目前它正在删除 df['a'] == 1 和 df['b'] == 2 的所有实例。

谁能帮我得到我想要的行为?

【问题讨论】:

    标签: python pandas numpy filter mask


    【解决方案1】:
    
    df = df.loc[~( (df['a'] == 1) & (df['b'] == 2) )]
    

    【讨论】:

      猜你喜欢
      • 2017-11-18
      • 1970-01-01
      • 2019-06-11
      • 1970-01-01
      • 2022-01-04
      • 2013-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多