Python np.nanmax()
numpy.nanmax()函数用于返回数组的最大值或沿数组的任何特定提到的轴返回最大值,忽略任何Nan值。
语法 : numpy.nanmax(arr, axis=None, out=None, keepdims = no value)
参数 :
arr :输入阵列。
axis :我们希望沿着该轴获得最大值。否则,它将认为Arr是平坦的(对所有轴都有效)axis = 0意味着沿列
and axis = 1 means working along the row.
out :不同的数组,我们要把结果放在其中。该数组必须具有与预期输出相同的尺寸。
keepdims :如果设置为 “True”,被缩小的轴将作为尺寸为1的尺寸留在结果中。有了这个选项,结果将正确地与原始的A进行对比。
返回 :最大的数组值(如果没有轴,则为标量值)或沿指定轴的最大值的数组。
**代码 #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]