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

求助:Pandas中按Employee_id分组统计数据的代码问题

问题解决

错误分析

你的代码存在两个关键问题:

  1. 分组列名错误:原DataFrame中的分组列是Employee_id,但你写的是FCE_Employee_id,导致分组逻辑失效。
  2. 不匹配统计逻辑错误:x != x.shift()是计算同一列相邻行的差异数,和需求中Cust_Pincode与Pincode的列间比较完全不符。

正确代码实现

方法一:直接在聚合中完成统计

result = df.groupby('Employee_id').agg(
    No_Of_Customers=('AGMTNO', 'count'),
    No_Of_Customers_not_matching=('Cust_Pincode', lambda x: (x != df.loc[x.index, 'Pincode']).sum())
).reset_index().rename(columns={'Employee_id': 'FCE_Employee_id'})

方法二:先构造辅助列再聚合(更直观)

# 先添加标记列,标记是否不匹配
df['is_not_match'] = df['Cust_Pincode'] != df['Pincode']

# 分组聚合
result = df.groupby('Employee_id').agg(
    No_Of_Customers=('AGMTNO', 'count'),
    No_Of_Customers_not_matching=('is_not_match', 'sum')
).reset_index().rename(columns={'Employee_id': 'FCE_Employee_id'})

输出结果

运行后会得到你期望的格式:

FCE_Employee_id  No_Of_Customers  No_Of_Customers_not_matching
0          5035496                3                              1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 10:15:38