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

如何在Pandas中对含分类与连续变量的数据按Customer_ID分组聚合?

按客户分组统计总贷款并保留附属信息

需求描述

按Customer_ID分组,统计每个客户的总贷款金额,同时保留CustomerGender、Agent_ID、AgentGender这三个字段的信息。

原始数据集

import pandas as pd
data = {'Customer_ID': [1, 1, 1, 2, 2, 3, 4, 4, 5, 5, 5, 5, 6, 6],
      'Loan': [200, 250, 300, 400, 300, 500, 150, 150, 400, 250, 150, 300, 200, 200],
     'CustomerGender': ['M', 'M', 'M', 'F', 'F', 'M', 'M', 'M', 'F', 'F', 'F', 'F', 'F', 'F'],
     'Agent_ID': [306, 306, 306, 306, 306, 307, 308, 308, 309, 309, 309, 309, 309, 309], 
     'AgentGender': ['F', 'F', 'F', 'M', 'M','M', 'M', 'M', 'F', 'F', 'F', 'F', 'F', 'F'],
     'settlement_value': [23.5, 30.99, 306, 86, 50, 307.35, 1200.54, 25, 48.88, 400, 2100.10, 30, 1309.10, 500.50]}
df = pd.DataFrame(data)

常见问题分析

  • 仅按Customer_ID分组调用sum():会直接丢弃CustomerGender、Agent_ID等非数值型字段,无法保留所需信息;
  • 将CustomerGender、Agent_ID、AgentGender加入分组键:若数据包含settlement_value,该字段会被自动聚合(如求和),且不符合仅按客户维度统计的需求。

解决方案

方法1:指定字段聚合规则(推荐)

利用groupby+agg,为每个字段明确指定聚合逻辑。由于每个Customer_ID对应的附属信息是唯一的,用first/max即可保留正确值;对Loan用sum计算总额。

result = df.groupby('Customer_ID', as_index=False).agg(
    Total_Loan=('Loan', 'sum'),
    CustomerGender=('CustomerGender', 'first'),
    Agent_ID=('Agent_ID', 'first'),
    AgentGender=('AgentGender', 'first')
    # 若需统计settlement_value总和,可添加此行:
    # Total_Settlement=('settlement_value', 'sum')
)

print(result)

方法2:拆分计算后合并

先单独计算总贷款,再提取客户唯一附属信息,最后通过merge合并结果,适合不确定附属字段是否绝对唯一的场景。

# 计算客户总贷款
loan_totals = df.groupby('Customer_ID', as_index=False)['Loan'].sum().rename(columns={'Loan': 'Total_Loan'})

# 提取去重后的客户附属信息
customer_info = df[['Customer_ID', 'CustomerGender', 'Agent_ID', 'AgentGender']].drop_duplicates()

# 合并数据
result = pd.merge(loan_totals, customer_info, on='Customer_ID')

print(result)

两种方法输出结果一致:

Customer_ID  Total_Loan CustomerGender  Agent_ID AgentGender
0            1         750              M       306           F
1            2         700              F       306           M
2            3         500              M       307           M
3            4         300              M       308           M
4            5        1100              F       309           F
5            6         400              F       309           F

内容的提问来源于stack exchange,提问作者Andrea Erőss

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 05:45:56