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

如何统计DataFrame每行中TRUE值的数量?现有代码未达预期

问题解决:统计DataFrame每行TRUE值数量并添加count列

现有DataFrame如下:

a     |   b    |   c    |   d
-------------------------------
TRUE    FALSE    TRUE     TRUE
FALSE   FALSE    FALSE    TRUE
TRUE    TRUE     TRUE     TRUE
TRUE    FALSE    TRUE     FALSE

需求是统计每行中TRUE值的数量,并新增count列,预期结果如下:

a     |   b    |   c    |   d  |  count
---------------------------------------
TRUE    FALSE    TRUE     TRUE     3
FALSE   FALSE    FALSE    TRUE     1
TRUE    TRUE     TRUE     TRUE     4
TRUE    FALSE    TRUE     FALSE    2

你尝试的df.groupby(df.columns.tolist(),as_index=False).size()是用来按整行内容分组,统计重复行的出现次数,和当前需求完全不匹配,所以得不到想要的结果。

正确实现代码

根据数据类型分两种情况处理:

  1. 如果TRUE/FALSE是布尔类型(Python原生的True/False),直接按行求和即可:
df['count'] = df.sum(axis=1)
  1. 如果TRUE/FALSE是字符串类型,先判断单元格值等于"TRUE",再按行求和:
df['count'] = df.eq('TRUE').sum(axis=1)

原理很直观:sum(axis=1)指定按行计算,布尔值里True会被视为1,False视为0,求和结果正好是每行TRUE的数量。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 17:10:20