我如何找到Python组中每一行的加权百分位数?

问题描述 投票:1回答:1

假设我有以下数据框。最后一列是我需要的,其余列是我拥有的。类别中的百分位数是按价格的加权百分位数计算,而权重是类别中售出的商品数量。

| Category   |    Price    |  Items Sold  |  Percentile within category|
|:-----------|------------:|:------------:|:--------------------------:|
|     A      |     560     |      5       |      92.56                 |
|     A      |     360     |      2       |      12.56                 |
|     B      |     510     |      3       |      42.56                 |
|     A      |     520     |      4       |      72.36                 |
|     B      |     960     |      6       |      91.56                 |
|     C      |     130     |      2       |      100.00                |

我需要使用的功能是stats.percentileofscore。但是我不确定如何使用它。

编辑:由于不确定如何显示表格而在数据框中插入图像

Edit2:我尚未完全计算出所有行的输出值。对于A-560,应为81.81%,因为

stats.percentileofscore([560,560,560,560,560,360,360,520,520,520,520], 560)

付出81.81%

The dataframe

假设我有以下数据框。最后一列是我需要的,其余列是我拥有的。类别中的百分位数是价格的加权百分位数,而权重是数字...

python pandas group-by percentile
1个回答
0
投票

您可以通过简单的groupby并应用函数来获取加权值来进行此操作

© www.soinside.com 2019 - 2024. All rights reserved.