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

Python中如何按国家列分组汇总DataFrame生成总计行?

问题

我有一个每月更新的DataFrame,希望将每个国家的所有地区信息合并为一行总计(比如把阿尔巴尼亚的所有地区数据汇总成一行),示例格式如下:

**ORIGINATING COUNTRY Calls Made  Actual Qty  Billable Qty.   Cost (€)**
Albania               10            190           600             7
Zambia                total           total           total  
...

我尝试过使用groupby()和sum()方法,但没能成功实现。

解决方案

直接按国家分组对数值列求和即可,以下是具体步骤:

  1. 数据预处理(排查失败原因)
    先解决可能导致groupby+sum失效的问题:

    import pandas as pd
    
    # 去除国家列首尾的多余空格(避免因格式不一致分组失败)
    df['ORIGINATING COUNTRY'] = df['ORIGINATING COUNTRY'].str.strip()
    
    # 将需要汇总的列转为数值类型(处理可能存为字符串的数值)
    numeric_cols = ['Calls Made', 'Actual Qty', 'Billable Qty.', 'Cost (€)']
    df[numeric_cols] = df[numeric_cols].apply(pd.to_numeric, errors='coerce')
    
  2. 分组生成汇总表
    按国家分组后对数值列求和,重置索引得到每行对应一个国家的结构:

    summary_df = df.groupby('ORIGINATING COUNTRY')[numeric_cols].sum().reset_index()
    
  3. 查看结果
    运行后summary_df就是你需要的国家级汇总表,直接打印或导出就能快速查看每月数据概览。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 16:31:03