You need to enable JavaScript to run this app. Pandas统计DataFrame中Counts列每行布尔列表的True值数量
优惠活动
大模型
产品
解决方案
定价
更多

Pandas统计DataFrame中Counts列每行布尔列表的True值数量

解决方案

Python中布尔值True对应数值1,False对应数值0,对布尔列表直接求和即可得到True的数量,只需要对Counts列逐行应用求和逻辑就可以实现需求。

方法1:简洁写法(性能最优)

df['Counts'] = df['Counts'].apply(sum)

方法2:显式匹配写法(可读性更高)

如果要更明确的指定统计True的数量,可使用list.count()方法:

df['Counts'] = df['Counts'].apply(lambda x: x.count(True))

原有代码错误原因

  • 第一行代码df['Counts'] = tickets['Counts'].sum()是对整个Counts列所有布尔列表的元素全局求和,得到的是全表所有True的总数值,直接赋值给整列会导致所有行的Counts值都是同一个总数,不符合逐行统计的需求。
  • 第二行代码df['Counts'] = df[df['Counts']==True].count().sum()是将整个布尔列表对象与True做比较,列表对象和布尔值永远不相等,匹配不到任何行,因此无法得到正确结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.21 21:24:04