获取DF中最大值的索引名称

时间:2018-09-20 08:37:03

标签: python pandas indexing max

我有以下数据框:

data = {'Algorithm': ['KNN', 'Decision Tree', 'SVM', 'Logistic Regression'], 
        'Jaccard': [0.75,0.65,0.67,0.70], 
        'F1-score': [0.69,0.78, 0.75, 0.77], 
        'LogLoss': ['NA', 'NA', 'NA', 5.23]}
report= pd.DataFrame(data = data)
report = report[['Algorithm', 'Jaccard', 'F1-score', 'LogLoss']]
report.set_index(report['Algorithm'], inplace = True)
report.drop(columns = ['Algorithm'], inplace = True)

我要做的是打印出dafaframe中具有最高值的索引名称。会是这样的:

print(report['Jaccard'][index_name_with_highest_value])

它应该产生:

'KNN'

预先感谢您:)

1 个答案:

答案 0 :(得分:3)

尝试np.where

print(report.index[np.where(report['Jaccard'].max())[0][0]])

已更新尝试np.where

print(report['Algorithm'][np.where(report['Jaccard'].max())[0][0]])

idxmax

print(report['Jaccard'].idxmax())

更新:

print(report['Algorithm'][np.where(report['Jaccard']==report['Jaccard'].max())[0][0]])

@jezrael的解决方案也非常好:

print(report.index[report['Jaccard'] == report['Jaccard'].max()])