У багатьох випадках, коли розмір масиву занадто великий, потрібно надто багато часу, щоб знайти максимальну кількість елементів з них. Для цього модуль numpy Python надає функцію під назвою numpy.argmax() . Ця функція повертає індекси максимальних значень, які повертаються разом із зазначеною віссю.
Синтаксис:
numpy.argmax(a, axis=None, out=None)
Параметри
x: array_like
Цей параметр визначає вихідний масив, максимальне значення якого ми хочемо знати.
порівняти рядок java
вісь: int (опціонально)
Цей параметр визначає вісь, уздовж якої присутній індекс, і за замовчуванням він знаходиться у зведеному масиві.
out: масив (необов'язково)
Цей параметр визначає ndarray, у який буде вставлено результат. Це буде того самого типу і форми, які підходять для зберігання результату
Повернення
Цей параметр визначає ndarray, який містить індекси масиву. Форма така ж, як x.форма зі знятим розміром уздовж осі.
коди помилок linux
приклад 1:
Import numpy as np x = np.arange(20).reshape(4,5) + 7 x y=np.argmax(a) y
Вихід:
array([[ 7, 8, 9, 10, 11], [12, 13, 14, 15, 16], [17, 18, 19, 20, 21], [22, 23, 24, 25, 26]]) 19
У наведеному вище коді
- Ми імпортували numpy з псевдонімом np.
- Ми створили масив 'x' використовуючи np.arange() функція у формі чотирьох рядків і п'яти стовпців.
- Ми також додали 7 у кожен елемент масиву.
- Ми оголосили змінну 'і' і присвоєно повернуте значення np.argmax() функція.
- Ми пройшли масив 'x' у функції.
- Нарешті, ми спробували надрукувати значення 'і' .
У вихідних даних він показує індекси максимального елемента в масиві.
приклад 2:
Import numpy as np x = np.arange(20).reshape(4,5) + 7 y=np.argmax(x, axis=0) z=np.argmax(x, axis=1) y z
Вихід:
f фільми
array([3, 3, 3, 3, 3], dtype=int64) array([4, 4, 4, 4], dtype=int64)
приклад 3:
Import numpy as np x = np.arange(20).reshape(4,5) + 7 indices = np.unravel_index(np.argmax(x, axis=None), x.shape) indices x[indices]
Вихід:
(3, 4) 26
Приклад 4:
import numpy as np a = np.array([[5,2,1], [3,7,9],[0, 4, 6]]) index_arr = np.argmax(a, axis=-1) index_arr # Same as np.max(a, axis=-1, keepdims=True) result = np.take_along_axis(a, np.expand_dims(index_arr, axis=-1), axis=-1) result1 # Same as np.max(a, axis=-1) result = np.take_along_axis(a, np.expand_dims(index_arr, axis=-1), axis=-1).squeeze(axis=-1) result2
Вихід:
array([[0], [2], [2]]) array([5, 9, 6])
У наведеному вище коді
- Ми імпортували numpy з псевдонімом np.
- Ми створили багатовимірний масив 'а ' використовуючи np.array() функція.
- Ми оголосили змінну 'index_arr' і присвоєно повернуте значення np.argmax() функція.
- Ми пройшли масив 'а' а вісь у функції.
- Ми спробували надрукувати значення 'index_arr' .
- Зрештою, ми спробували отримати максимальне значення масиву за допомогою двох різних способів, які дуже схожі на np.argmax() .
У вихідних даних він показує індекси максимальних елементів у масиві та значення, які присутні в цих індексах.