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

如何统计Pandas DataFrame中两列同时为True的行数

Pandas统计两布尔列同时为True的行数解决方案

以下方法均为Pandas内置向量化运算,无需遍历行,千万级行的大体量DataFrame也可以快速计算完成:

  • 方法1:逻辑与直接求和(最简洁,性能最优)
    布尔值True会被自动识别为1、False为0,两列做逻辑与运算后直接求和,结果就是同时为True的总行数:
count = (df['eethuis'] & df['caternaar']).sum()
  • 方法2:多列通用判断法
    如果后续需要扩展到判断3个及以上列同时为True的场景,可使用all()方法指定轴向为行,无需写多个逻辑与符号:
count = df[['eethuis', 'caternaar']].all(axis=1).sum()
  • 方法3:先筛选再计数(适用于需要留存符合条件的行数据的场景)
    如果需要提取所有同时满足两个条件的完整行记录,可以先筛选子表再取长度:
# 筛选得到所有符合条件的行
target_df = df[df['eethuis'] & df['caternaar']]
# 统计行数
count = len(target_df)

异常排查

如果计算结果为0和预期不符,可先检查两列的数据类型是否为布尔型,避免列值为字符串格式的'True'/'False'导致判断失效,可先执行类型转换后再计算:

df['eethuis'] = df['eethuis'].astype(bool)
df['caternaar'] = df['caternaar'].astype(bool)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 14:27:00