首页 > 解决方案 > 如何计算每个项目的平均索引位置

问题描述

我正在尝试按 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

标签: pythonpandas

解决方案


如果权重index使用Indexmeltgroupbywithmean

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

推荐阅读