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

如何基于现有DataFrame按部门和年份统计入职员工数量?

按部门和年份统计入职员工总数的正确实现

你之前的代码不符合预期,核心问题是只选取了dept_name和Year两列做分组统计——这两列本身就是分组键,每组内的这两列值完全一致,count()只会返回1(非空情况下),根本没统计到实际的员工数量。下面是两种靠谱的解决方法:

方法1:用size()直接统计组内行数

size()会直接返回每个分组的元素总个数,也就是对应部门对应年份的入职员工数,最后用reset_index()把分组索引转成普通列,再给统计列起个明确的名字:

# 生成统计结果DataFrame
emp_count_result = emp_dept_sal_s.groupby(['dept_name', 'Year']).size().reset_index(name='入职员工总数')

方法2:指定员工标识列做count()

如果你的DataFrame里有员工唯一标识列(比如emp_id、employee_number这类),可以针对该列做count(),这样统计的是每个分组内该列的非空值数量,也就是有效员工数:

# 假设员工标识列是emp_id,生成统计结果
emp_count_result = emp_dept_sal_s.groupby(['dept_name', 'Year'])['emp_id'].count().reset_index(name='入职员工总数')

这两种方法都能得到你需要的「每年各部门入职员工总数」的统计结果,选哪种取决于你的数据结构和需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 23:10:27