3 回答

TA贡献1828条经验 获得超6个赞
如何使用布尔索引来提取您需要的内容,分配排名和排序:
(df[df.Metric=='auc']
.assign(Rank=lambda x: x['Value'].rank(ascending=False))
.sort_values('Rank')
)
输出:
Metric Value Model rank
4 auc 0.994051 Random_Forest 1.0
1 auc 0.927363 Logistic_Regression 2.0
7 auc 0.915736 Naive_Bayes 3.0

TA贡献1784条经验 获得超2个赞
用于boolean indexing
过滤指标等于的数据框auc
,然后用于Series.rank
对列上过滤后的数据框进行排名Value
,最后用于DataFrame.sort_values
将数据框排序为Rank
df1 = df[df.Metric.eq('auc')]
df1 = df1.assign(Rank=df1.pop('Value').rank(ascending=False)).sort_values(by='Rank')
结果:
# print(df1)
Metric Model Rank
4 auc Random_Forest 1.0
1 auc Logistic_Regression 2.0
7 auc Naive_Bayes 3.0
:

TA贡献1831条经验 获得超10个赞
像这样的事情怎么样:
df[df.Metric == 'auc'].sort_values(by = 'Value', ascending = False)
添加回答
举报