Функция nanmax
Функция nanmax возвращает максимальное значение
элементов массива, игнорируя значения NaN.
Если массив содержит только NaN, возвращается NaN.
Первым параметром функция принимает массив, вторым - ось,
по которой вычисляется максимум.
Синтаксис
np.nanmax(arr, [axis], [out], [keepdims])
Пример
Давайте найдем максимальное значение в одномерном массиве с пропусками:
import numpy as np
arr = np.array([1, np.nan, 3, 4, np.nan, 6])
res = np.nanmax(arr)
print(res)
Результат выполнения кода:
6.0
Пример
Сравним с обычной функцией max, которая возвращает NaN
при любом пропуске в данных:
import numpy as np
arr = np.array([1, np.nan, 3])
print(np.max(arr))
print(np.nanmax(arr))
Результат выполнения кода:
nan
3.0
Пример
Вычислим максимальные значения вдоль строк в двумерном массиве:
import numpy as np
arr = np.array([[1, np.nan, 3],
[4, 5, np.nan],
[np.nan, 8, 9]])
res = np.nanmax(arr, axis=1)
print(res)
Результат выполнения кода:
[3. 5. 9.]
Пример
Сохраним размерность результата с параметром keepdims:
import numpy as np
arr = np.array([[np.nan, 2, 3],
[4, 5, np.nan]])
res = np.nanmax(arr, axis=1, keepdims=True)
print(res)
Результат выполнения кода:
[[3.]
[5.]]
Пример
Если все элементы массива равны NaN, функция возвращает NaN:
import numpy as np
arr = np.array([np.nan, np.nan, np.nan])
res = np.nanmax(arr)
print(res)
Результат выполнения кода:
nan