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

按地区分组统计糖尿病患者数与CGM处方量并计算占比

计算各地区CGM开具占糖尿病患者总数的比例

原始数据

LocationDiabetes presentCGM prescribed
CA11
TX10
TX11
CA10
AZ11
AZ10
AZ11
TX10

期望输出

locationTotalDiabetestotal CGMproportion (total cgm/ total diabetes)
CA210.5
TX310.33
AZ320.66

解决方案

方法1:Excel操作

分类汇总法

  1. 选中原始数据全部区域
  2. 点击「数据」选项卡 → 「分类汇总」
  3. 在对话框中设置:
    • 分类字段:Location
    • 汇总方式:求和
    • 选定汇总项:勾选Diabetes present和CGM prescribed
  4. 提取生成的汇总行数据,新增列输入公式=CGM求和单元格/Diabetes求和单元格,设置单元格格式保留两位小数。

数据透视表法(更灵活)

  1. 选中原始数据,点击「插入」选项卡 → 「数据透视表」
  2. 在透视表字段面板中:
    • 将Location拖入「行」区域
    • 将Diabetes present和CGM prescribed拖入「值」区域,修改汇总方式为「求和」
  3. 在透视表旁新增列,计算比例:=对应CGM求和单元格/对应Diabetes求和单元格,调整小数位数至两位。

方法2:Python Pandas代码

使用Pandas分组求和并计算比例,代码如下:

import pandas as pd

# 构建原始数据DataFrame
df = pd.DataFrame({
    'Location': ['CA', 'TX', 'TX', 'CA', 'AZ', 'AZ', 'AZ', 'TX'],
    'Diabetes present': [1]*8,
    'CGM prescribed': [1, 0, 1, 0, 1, 0, 1, 0]
})

# 按地区分组求和并重置索引
summary = df.groupby('Location').sum().reset_index()
# 重命名列名匹配期望输出
summary.columns = ['location', 'TotalDiabetes', 'total CGM']
# 计算比例并保留两位小数
summary['proportion (total cgm/ total diabetes)'] = (summary['total CGM'] / summary['TotalDiabetes']).round(2)

# 输出结果
print(summary)

运行后输出结果与期望一致。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 22:57:21