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

如何用Python Pandas按职位分组统计ID数量与呼叫次数?

解决Pandas分组统计的KeyError问题

错误原因分析

你写的代码逻辑完全搞反了:

  1. 先取df['Title']只保留这一列,后续分组时根本找不到ID列,直接触发KeyError;
  2. 你需要按Title分组统计,结果代码里写成了按ID分组,完全不符合需求。

正确实现代码

根据你的需求,按Title分组后统计不同ID的数量(即每组的员工数)和呼叫记录总条数,可以用以下代码:

import pandas as pd

# 假设你的数据集是df
result = df.groupby('Title').agg(
    **{'ID(count)': ('ID', 'nunique'),
       'Calls(count)': ('Calls', 'count')}
).reset_index()

# 输出类似你期望的表格格式
print(result.to_string(index=False))

如果你的Calls列是每个员工的呼叫次数,需要统计每组的总呼叫次数(而非记录条数),把count换成sum即可:

result = df.groupby('Title').agg(
    **{'ID(count)': ('ID', 'nunique'),
       'Calls(count)': ('Calls', 'sum')}
).reset_index()

代码解释

  • groupby('Title'):按职位列分组,这是你需求的核心分组逻辑;
  • agg():批量指定不同列的统计方式,nunique用于统计不同ID的数量(去重计数),count/sum对应呼叫的记录数/总次数;
  • reset_index():把分组的Title从索引变回普通列,让输出更符合你要的表格结构;
  • to_string(index=False):去掉默认的行索引,输出更整洁的表格。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 16:35:06