如何计算每个项目的平均指数位置

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 groupbymean索引

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 统计分析计算多波段图像最大值最小值平均值等

ArcGIS应用(十九)Arcgis 统计分析计算多波段图像最大值最小值平均值等

如何计算postgres的指数移动平均线?

计算小标题中每个位置的平均每日步数[重复]

均值指标是综合指标吗

PySpark:计算指数移动平均线