You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用一行代码按多列值过滤Pandas DataFrame?

一行代码实现DataFrame多列过滤

当然可以用一行代码完成多列过滤,你之前报错是因为Pandas对布尔序列的逻辑判断不支持Python原生的and/or,得用向量化的运算符&(逻辑与)、|(逻辑或),而且每个条件必须加括号避免优先级问题。下面是几种可行的写法:

  • 用布尔索引+&运算符:
mini_df = df[(df['col1'] == 0) & (df['col2'] == 1)]
  • 用query方法(语法更简洁,接近自然语言):
mini_df = df.query('col1 == 0 and col2 == 1')
  • 用loc明确指定行过滤(更规范,避免隐式索引问题):
mini_df = df.loc[(df['col1'] == 0) & (df['col2'] == 1), :]

如果需要添加更多过滤条件,直接用&继续拼接(每个条件加括号),或者在query里用and连接即可。

内容的提问来源于stack exchange,提问作者alberto

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 03:20:14