在Python中返回数组沿轴0的最大值或忽略任何NaN的最大值
在这篇文章中,我们将看到如何在Python中沿0轴返回数组的最大值或忽略任何NaN的最大值。
示例
输入:
[[ 1. 0. 3.]
[10. nan 30.]
[nan 10. 20.]]
输出: [10. 10. 30.]
解释: 一个有最大值的数组。
Python中的nanmax方法
Python提供了一个nanmax方法,可以忽略任何NaN值,返回一个数组沿指定轴的最大值。nanmax方法存在于NumPy包中,可以忽略NaN值,返回一个数组或一个数组沿任何指定轴的值。让我们来看看nanmax方法的语法,并讨论该方法所接受的参数。
语法: numpy.nanmax(arr, axis=None, out=None, keepdims = no_value)
参数:
- arr:- 输入阵列
- axis:- axis=0代表沿着列, axis=1代表沿着行。
- out:- 不同的数组,我们要在其中存储输出。它的尺寸应该与预期输出的尺寸一致。
- keepdims:- 如果keepdims值被设置为 “true”,那么被缩小的轴将以1的尺寸留在结果中。
返回一个标量值(如果没有轴)或一个包含沿指定轴的最大值的数组。
示例 1:
结果数组由每一列的最大值组成,因为我们在nanmax方法中指定 axis=0。
# import required packages
import numpy as np
# creating a numpy array with few Nan values
arr = np.array([[1, 0, 3], [10, np.nan, 30],
[np.nan, 10, 20]])
# display the input array
print("Input array\n", arr)
# return the maximum values of an array
# along specified axis by ignoring NaNs
print("Max Array-", np.nanmax(arr, axis=0))
输出:
Input array
[[ 1. 0. 3.]
[10. nan 30.]
[nan 10. 20.]]
Max Array- [10. 10. 30.]
示例 2:
结果数组由每一行的最大值组成,因为我们在nanmax方法中指定了axis=1。
# import required packages
import numpy as np
# creating a numpy array with few Nan values
arr = np.array([[1, 0, 3], [10, np.nan, 30],
[np.nan, 10, 20]])
# display the input array
print("Input array\n", arr)
# return the maximum values of an array
# along specified axis by ignoring NaNs
print("Max Array-", np.nanmax(arr, axis=1))
输出:
Input array
[[ 1. 0. 3.]
[10. nan 30.]
[nan 10. 20.]]
Max Array- [ 3. 30. 20.]
示例 3:
在这个例子中,我们没有在nanmax方法中指定轴参数。所以它考虑了axis=None的值,并返回给定数组中的最大值而不考虑NaN值。
# import required packages
import numpy as np
# creating a numpy array with few Nan values
arr = np.array([[1, 0, 3], [10, np.nan, 30],
[np.nan, 10, 20]])
# display the input array
print("Input array\n", arr)
# return the maximum value in an array
# by ignoring NaNs
print("Max value in array-", np.nanmax(arr))
输出:
Input array
[[ 1. 0. 3.]
[10. nan 30.]
[nan 10. 20.]]
Max value in array- 30.0