我希望过滤一个数据框,使其仅包含等于某个值或大于另一个值的值。
示例数据框:
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]
)时,我确实会得到结果。有谁对如何使它起作用有任何见识?
答案 0 :(得分:1)
如您所说,它是or
:|
而不是and
:&
df = df[(df[2]=23) | (df[2]>50)]