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

使用dplyr分组人口统计变量,计算国家维度性别占比与平均年龄

分组计算年龄均值与性别占比

原始数据

country age sex 
      x  10   m
      y  20   f
      x  12   m
      y  40   m

需求说明

按country字段对数据分组,计算每组的平均年龄,以及sex字段中m和f的占比,最终输出目标格式的统计结果。

实现代码(Python Pandas)

import pandas as pd

# 构造原始数据框
df = pd.DataFrame({
    'country': ['x', 'y', 'x', 'y'],
    'age': [10, 20, 12, 40],
    'sex': ['m', 'f', 'm', 'm']
})

# 分组聚合计算指标
result = df.groupby('country').agg(
    mean_age=('age', 'mean'),
    percent_m=('sex', lambda s: f"{(s == 'm').mean() * 100:.0f}%"),
    percent_f=('sex', lambda s: f"{(s == 'f').mean() * 100:.0f}%")
).reset_index()

# 输出无索引的格式化结果
print(result.to_string(index=False))

运行结果

country  mean_age percent_m percent_f
       x        11      100%        0%
       y        30       50%       50%

注:原始数据中country=y的年龄为20和40,平均年龄应为30,需求示例中的20为笔误

内容的提问来源于stack exchange,提问作者P.Hubert

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 06:09:50