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

Pandas Groupby结果按分类条目数新增计算列的实现方法

实现方案

你可以通过pandas的groupby+transform方法直接实现需求,transform会将分组统计的结果自动广播到对应分组的每一行,刚好匹配你的计算规则。

示例代码如下:

import pandas as pd

# 假设你的原始DataFrame变量名为df
df['value'] = round(10 / df.groupby('category')['item'].transform('count'), 2)

如果你的DataFrame经过groupby操作后已经将category设为索引(对应你展示的合并单元格效果),可以用level参数指定索引分组:

df['value'] = round(10 / df.groupby(level='category')['item'].transform('count'), 2)

代码说明:

  • groupby('category')['item'].transform('count') 会按category字段分组统计每个分组的条目总数,返回的结果长度和原DataFrame完全一致,每个行位置的值对应该行所属分组的总条目数
  • 用10除以该统计结果后调用round(2)保留两位小数,直接赋值给新列value即可得到你预期的输出。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 21:24:03