python - 如何计算每个项目的平均索引位置
问题描述
我正在尝试按 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
使用Indexmelt
的groupby
withmean
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
推荐阅读
- php - 在自定义“简码”上解析 php 字符串
- timezone - 获取 Google Analytics 4 属性的时区?
- javascript - 使用选择表单时显示/隐藏 div - jquery
- git - Git:如何在不删除子模块存储库的情况下删除子模块引用
- angular - 如何在标签中按属性查找元素?
- r - 每个集群在每个状态中花费的平均时间 - TramineR
- r - 使用 ggplot2 绘制不同颜色的多条线
- c# - 以相同的内窗口大小打开 IE 和 Edge IE
- oracle - 如何在两个 Oracle 数据库实例之间建立集群
- mongodb - hotChocolate 中有没有办法记录在 IQueryable 上执行的查询