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)
添加回答
舉報