按行查找最大值并相应显示其列名

时间:2019-01-10 18:10:38

标签: python arrays numpy

我有以下数组,它由4列和2行组成。我希望在第二行中找到最大值,并返回相应的值名称。换句话说,我的输出应为:521(100也具有99值,但我需要返回第一个值)。

ive尝试了这一点:(student_ids是第一行,成绩是较低的行(某些成绩数组的平均值)。以下函数返回了624值。

def find_student_with_max_avg(grades, student_ids):
    return np.max(np.vstack((student_ids, np.mean(grades, axis=0))))

array: [[521 597 624 100]  [99 73 97 99]]

请记住,解决方案应该很简单,大约一行,因为我们不允许使用循环及其基本的numpy方法。除了numpy之外,没有其他任何导入。

1 个答案:

答案 0 :(得分:0)

输入:

array : [[521 597 624 100] [ 99 73 97 99]]

首先,像这样在第二行中找到max的索引,

idx = np.argmax(arr[1])

然后,从该索引的第一行中提取元素,

print(arr[0][idx])

输出:

521