Нахождение максимального значения по строке и отображение имени его столбца соответственно - PullRequest
0 голосов
/ 10 января 2019

У меня есть следующий массив, который состоит из 4 столбцов и 2 строк. Я хочу найти максимальное значение во второй строке и вернуть имя соответствующего значения. Другими словами, мой вывод должен быть: 521 (100 имеет значение 99, но мне нужно вернуть первое значение).

Я попробовал это: (student_ids - первая строка, а оценки - нижняя (среднее для некоторого массива оценок). Следующая функция вернула мне значение 624.

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

массив: [[521 597 624 100] [99 73 97 99]]

Имейте в виду, что решение должно быть простым, в одну строку, так как нам не разрешено использовать циклы, а вокруг него - базовые методы с клочками. нет импорта, кроме NumPy также.

1 Ответ

0 голосов
/ 10 января 2019

Ввод:

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

Сначала найдите индекс max во второй строке, например,

idx = np.argmax(arr[1])

Затем извлеките элемент из первой строки этого индекса,

print(arr[0][idx])

Выход:

521
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...