Метод max
Метод max возвращает максимальное значение среди всех элементов массива.
Если массив содержит несколько измерений, можно указать ось, вдоль которой будет выполняться поиск максимума.
Метод не изменяет исходный массив, а возвращает новое значение или массив с результатами.
Синтаксис
arr.max([axis=None], [keepdims=False])
Параметры метода:
axis - ось, вдоль которой ищется максимум. По умолчанию None - поиск по всем элементам массива.
keepdims - если True, то результат сохраняет размерность исходного массива.
Пример
Давайте найдем максимальный элемент в одномерном массиве:
import numpy as np
arr = np.array([12, 45, 7, 89, 34])
res = arr.max()
print(res)
Результат выполнения кода:
89
Пример
Найдем максимальный элемент в двумерном массиве без указания оси:
import numpy as np
arr = np.array([[5, 8, 2],
[9, 1, 7],
[3, 6, 4]])
res = arr.max()
print(res)
Результат выполнения кода:
9
Пример
Найдем максимальные элементы вдоль строк (ось 0). Это даст максимумы по каждому столбцу:
import numpy as np
arr = np.array([[5, 8, 2],
[9, 1, 7],
[3, 6, 4]])
res = arr.max(axis=0)
print(res)
Результат выполнения кода:
[9 8 7]
Получился одномерный массив с максимумами для каждого столбца.
Пример
Найдем максимальные элементы вдоль столбцов (ось 1). Это даст максимумы по каждой строке:
import numpy as np
arr = np.array([[5, 8, 2],
[9, 1, 7],
[3, 6, 4]])
res = arr.max(axis=1)
print(res)
Результат выполнения кода:
[8 9 6]
Получился массив с максимумами для каждой строки.
Пример
Используем параметр keepdims для сохранения размерности исходного массива:
import numpy as np
arr = np.array([[5, 8, 2],
[9, 1, 7],
[3, 6, 4]])
res = arr.max(axis=0, keepdims=True)
print(res)
Результат выполнения кода:
[[9 8 7]]
Теперь результат представляет собой двумерный массив с одной строкой.
Пример
Метод max корректно работает с массивами других типов данных, например, с числами с плавающей точкой:
import numpy as np
arr = np.array([1.2, -3.4, 5.6, 7.8, -9.1])
res = arr.max()
print(res)
Результат выполнения кода:
7.8
Пример
Метод также работает с массивами строк, находя максимальный элемент по лексикографическому порядку:
import numpy as np
arr = np.array(['apple', 'banana', 'cherry', 'date'])
res = arr.max()
print(res)
Результат выполнения кода:
"date"
Строка 'date' является максимальной, так как она последняя по алфавиту среди указанных.