python - 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]
)时,我确实会得到结果。有没有人对如何让它发挥作用有任何见解?
解决方案
正如你所说,它是or
:|
不是and
:&
df = df[(df[2]=23) | (df[2]>50)]
推荐阅读
- prolog - 错误:未知程序:dups2/2(DWIM 无法更正目标)
- html - 使用第三方 HTTP 请求发送 cookie
- python - 向用户输入文本框添加虚拟键盘
- javascript - 具有 autoGroupColumnDef 中的树结构的 AgGrid 中的奇怪行为
- json - 在 Flutter 中区分两个 JSON 键
- reactjs - 我的 nextPerson 函数哪里出错了,因为一旦所有人都被淘汰,代码就会中断
- testing - Testcafe 在 embedding-utils.js 中跳过测试
- ssas - 在数据源视图中表之间的关系未显示
- prolog - Prolog中的谓词连接
- javascript - Custom CKEditor TypeError: this.props.editor.create is not a function