如何计算每个项目的平均指数位置
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何计算每个项目的平均指数位置相关的知识,希望对你有一定的参考价值。
我正在尝试通过pandas数据框中的多个类别来估计项目的平均排名,但不知道如何执行此操作
假设我们有下一个数据框,可以对不同类别的项目进行评级。这些项目已按每列中降序项目的分数进行排序。
Index Safety Performance Capability
0 item_1 item_3 item_1
1 item_3 item_2 item_2
2 item_4 item_1 item_3
3 item_2 item_4 item_4
我需要的是基于所有类别中的索引的项目的总体评级,因此在这种情况下整体看起来像这样:
Total
item_1
item_3
item_2
item_4
答案
如果权重是index
使用melt
groupby
与mean
索引
s=df.reset_index().melt('Index').groupby('value')['Index'].mean().sort_values()
s
Out[14]:
value
item_1 0.666667
item_3 1.000000
item_2 1.666667
item_4 2.666667
Name: Index, dtype: float64
df['Total']=s.index
另一答案
stack
+ groupby
+ sum
的另一个选择(也可以使用像wen的mean
)
df.set_index('Index').stack().reset_index().groupby(0).Index.sum().sort_values()
输出
item_1 2
item_3 3
item_2 5
item_4 8
Name: Index, dtype: int64
以上是关于如何计算每个项目的平均指数位置的主要内容,如果未能解决你的问题,请参考以下文章
ArcGIS应用(十九)Arcgis 统计分析计算多波段图像最大值最小值平均值等