假设我有以下数据框。最后一列是我需要的,其余列是我拥有的。类别中的百分位数是按价格的加权百分位数计算,而权重是类别中售出的商品数量。
| 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%
假设我有以下数据框。最后一列是我需要的,其余列是我拥有的。类别中的百分位数是价格的加权百分位数,而权重是数字...
您可以通过简单的groupby并应用函数来获取加权值来进行此操作