Python中的 np.nanmax()
numpy.nanmax()
函数用于返回数组的最大值或沿数组的任何特定提及的轴,忽略任何 Nan 值。
Syntax : numpy.nanmax(arr, axis=None, out=None, keepdims = no value)
Parameters :
arr : Input array.
axis : Axis along which we want the max value. Otherwise, it will consider arr to be flattened(works on all the axis)axis = 0 means along the column
and axis = 1 means working along the row.
out : Different array in which we want to place the result. The array must have same dimensions as expected output.
keepdims : If this is set to True, the axes which are reduced are left in the result as dimensions with size one. With this option, the result will broadcast correctly against the original a.
Return :maximum array value(a scalar value if axis is none)or array with maximum value along specified axis.
代码#1:工作
# Python Program illustrating
# numpy.nanmax() method
import numpy as np
# 1D array
arr = [1, 2, 7, 0, np.nan]
print("arr : ", arr)
print("max of arr : ", np.amax(arr))
# nanmax ignores NaN values.
print("nanmax of arr : ", np.nanmax(arr))
输出 :
arr : [1, 2, 7, 0, nan]
max of arr : nan
nanmax of arr : 7.0
代码#2:
import numpy as np
# 2D array
arr = [[np.nan, 17, 12, 33, 44],
[15, 6, 27, 8, 19]]
print("\narr : \n", arr)
# maximum of the flattened array
print("\nmax of arr, axis = None : ", np.nanmax(arr))
# maximum along the first axis
# axis 0 means vertical
print("max of arr, axis = 0 : ", np.nanmax(arr, axis = 0))
# maximum along the second axis
# axis 1 means horizontal
print("max of arr, axis = 1 : ", np.nanmax(arr, axis = 1))
输出 :
arr :
[[nan, 17, 12, 33, 44], [15, 6, 27, 8, 19]]
max of arr, axis = None : 44.0
max of arr, axis = 0 : [15. 17. 27. 33. 44.]
max of arr, axis = 1 : [44. 27.]
代码#3:
import numpy as np
arr1 = np.arange(5)
print("Initial arr1 : ", arr1)
# using out parameter
np.nanmax(arr, axis = 0, out = arr1)
print("Changed arr1(having results) : ", arr1)
输出 :
Initial arr1 : [0 1 2 3 4]
Changed arr1(having results) : [15 17 27 33 44]