首页 > 解决方案 > Pandas Dataframe 过滤多个条件

问题描述

我正在寻找过滤数据框以仅包含等于某个值或大于另一个值的值。

示例数据框:

              0            1             2  
0             0            1             23        
1             0            2             43
2             1            3             54     
3             2            3             77   

从这里,我想从第 0 列中提取所有值,其中第 2 列等于 23 或大于 50(因此它应该返回 0、1 和 2)。这是我到目前为止的代码:

df = df[(df[2]=23) & (df[2]>50)]

这不返回任何内容。但是,当我将它们分开并单独运行它们(df = df[df[2]=23]df = df[df[2]>50])时,我确实会得到结果。有没有人对如何让它发挥作用有任何见解?

标签: pythonpandasdataframe

解决方案


正如你所说,它是or| 不是and&

df = df[(df[2]=23) | (df[2]>50)]

推荐阅读