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

Pandas实现按BU分组统计DataFrame指定列大于0的行数

按BU分组统计指定列大于0的行数实现方法

核心逻辑和你原有的非分组统计逻辑完全一致:先对目标季度列做数值大于0的布尔判断(True计数为1、False计数为0),再按BU分组后对布尔值求和即可,无需改动原有判断规则。

可落地代码实现

# 沿用你已定义的待统计列
cols = ['1Q16','2Q16','3Q16']
# 按BU分组统计各列大于0的行数
result = df[cols].gt(0).groupby(df['BU']).sum()

输出结果说明

上述代码运行后得到的统计结果如下:

BU1Q162Q163Q16
CRS332
Total222

补充说明

  • 该写法中df[cols].gt(0)生成的布尔表与原DataFrame索引完全对齐,直接传入df['BU']作为分组键即可匹配每组对应的行,无需额外将BU列拼接至布尔表中,运行效率更高。
  • 如果需要将BU转为普通列而非行索引,可在代码末尾加.reset_index(),对应代码为:
    result = df[cols].gt(0).groupby(df['BU']).sum().reset_index()
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.22 16:06:07