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

如何提取pandas DataFrame指定列值为False的所有行

提取Pandas DataFrame中布尔列为False的行方案

你筛选失败首先要排查列名匹配问题:你代码里写的"Senior Management"和示例数据里的实际列名Sr.Management不一致,所有筛选逻辑首先要保证列名和DataFrame中的列名完全一致,否则会直接报键错误或者返回不符合预期的结果。

可用的筛选写法

以下三种写法都可以提取Sr.Management列为False的行,根据你的使用场景选即可:

  • 直接等值判断,逻辑最直观
df[df["Sr.Management"] == False]
  • 布尔取反写法,和你之前取True行的df[df["列名"]]逻辑完全对应,写法最简洁
df[~df["Sr.Management"]]
  • 用eq方法加loc索引,鲁棒性最好,遇到列里有空值NaN的时候不会把空值误判为False返回,也不会触发pandas的链式索引警告
df.loc[df["Sr.Management"].eq(False), :]

结果验证

用你提供的示例数据运行上述代码,会准确返回两行符合要求的记录:

Name  Gender  Start Date      Last Login Time  Salary  Bonus%  Sr.Management     Team
2   Maria  Female  1993-04-23  2022-07-02 11:17:00  130590  11.858          False  Finance
5  Dennis    Male  1987-04-18  2022-07-02 01:35:00  115163  10.125          False    Legal

小提示:如果运行前不确定列名到底是什么,可以先跑一句print(df.columns)打印所有列名核对,避免因为列名拼写、空格、缩写差异导致筛选失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 02:54:25