在Python中返回数组的最大值或忽略任何NaN值
在Python中,要返回数组的最大值或忽略任何NaN值,可以使用numpy.nanmax()方法。该方法返回一个具有与a相同形状的数组,指定轴被删除。如果a是0维数组,或者axis为None,则返回一个ndarray标量。返回与a相同的dtype。第一个参数a是一个包含要求最大值的数字的数组。如果a不是一个数组,则尝试进行转换。
第二个参数axis是计算最大值的轴或轴。默认是计算扁平化数组的最大值。第三个参数out是一个替代的输出数组,用于保存结果。默认为None;如果提供了,必须具有预期输出的相同形状,但类型将被转换(如果需要的话)。
第四个参数keepdims,如果设置为True,则减小的轴将作为结果的维度保留为大小为一。使用此选项,结果将针对原始a正确广播。如果值不是默认值,则keepdims将通过传递给ndarray的子类的max方法。如果子类方法不实现keepdims,则会引发任何异常。第五个参数是输出元素的最小值。必须提供以允许对空切片进行计算。
步骤
首先,导入所需的库-
import numpy as np
使用array()方法创建一个numpy数组。我们已经添加了int类型的元素,其中包含nan –
arr = np.array([[10, 20, 30], [40, np.nan, 60]])
显示数组 –
print("Our Array...\n",arr)
检查尺寸 −
print("\nDimensions of our Array...\n",arr.ndim)
获取数据类型 –
print("\nDatatype of our Array object...\n",arr.dtype)
使用Python中的numpy.nanmax()方法来返回数组的最大值或忽略任何NaN值。该方法返回与a相同形状的数组,指定的轴将被移除。如果a是0维数组,或者axis为None,则返回一个ndarray标量。返回的dtype与a相同 –
print("\nResult (nanmax)...\n",np.nanmax(arr))
示例
import numpy as np
# Creating a numpy array using the array() method
# We have added elements of int type with nan
arr = np.array([[10, 20, 30], [40, np.nan, 60]])
# Display the array
print("Our Array...\n",arr)
# Check the Dimensions
print("\nDimensions of our Array...\n",arr.ndim)
# Get the Datatype
print("\nDatatype of our Array object...\n",arr.dtype)
# To return the maximum of an array or maximum ignoring any NaNs, use the numpy.nanmax() method in Python
print("\nResult (nanmax)...\n",np.nanmax(arr))
输出
Our Array...
[[10. 20. 30.]
[40. nan 60.]]
Dimensions of our Array...
2
Datatype of our Array object...
float64
Result (nanmax)...
60.0