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

在R语言中按Parent分组聚合计算数值占比

原始数据集

ParentTypeValue
Ablue35
Ared65
Bblue23
Cblue22
Cblue35
Cyellow3

实现方法

1. Excel 操作步骤

  • 计算每个Parent的总Value:在空白列(如D列)D2单元格输入公式 =SUMIF($A:$A,A2,$C:$C),下拉填充至所有行,得到每行对应Parent的总Value。
  • 生成百分比列:新增列命名为value percentage(如E列),E2单元格输入公式 =C2/D2,设置单元格格式为百分比(按需保留小数位),下拉填充即可。

2. Python pandas 实现

import pandas as pd

# 构造数据集
data = {
    'Parent': ['A', 'A', 'B', 'C', 'C', 'C'],
    'Type': ['blue', 'red', 'blue', 'blue', 'blue', 'yellow'],
    'Value': [35, 65, 23, 22, 35, 3]
}
df = pd.DataFrame(data)

# 计算每个Parent的总Value并匹配到对应行
df['parent_total'] = df.groupby('Parent')['Value'].transform('sum')

# 计算百分比并格式化
df['value percentage'] = (df['Value'] / df['parent_total']).apply(lambda x: f"{x:.2%}")

# 可选:删除中间计算列
# df = df.drop('parent_total', axis=1)

print(df)

3. SQL 实现(假设表名为parent_data)

SELECT 
    Parent,
    Type,
    Value,
    ROUND((Value / SUM(Value) OVER (PARTITION BY Parent)) * 100, 2) AS `value percentage`
FROM parent_data;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 09:00:55