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

如何对DataFrame各唯一国家分组执行带指定分位数的describe()方法

解决方案

你可以用pandas的groupby方法实现按country分组,对每个组的revenue列执行带自定义分位数的统计描述,具体代码如下:

先修正你代码里的列名问题:原DataFrame的列是小写的country和revenue,和你写的Country、net_revenue不匹配,得对应上避免报错。

import pandas as pd

# 构造示例DataFrame
data = {
    'id': [1,2,3,4,5,6,7],
    'revenue': [128,130,132,134,136,138,140],
    'country': ['at','de','de','hu','at','at','hu']
}
df = pd.DataFrame(data)

# 定义需要的自定义分位数
custom_percentiles = [0.2, 0.4, 0.6, 0.8, 0.9, 0.95, 0.99, 0.999]

# 分组执行带指定分位数的describe
grouped_desc = df.groupby('country')['revenue'].describe(percentiles=custom_percentiles)

print(grouped_desc)

代码说明:

  • groupby('country'):将DataFrame按country的所有唯一值分组,自动处理现有所有国家(比如示例里的at、de、hu)
  • ['revenue'].describe(percentiles=custom_percentiles):对每个分组的revenue列执行统计描述,并传入你指定的分位数参数
  • 返回的结果是一个多层列结构的DataFrame,索引为country,列包含count、mean、std、min、各分位数、max等统计量

如果觉得查看不方便,可以转置结果:

print(grouped_desc.T)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 20:01:06