返回Python中数组的最大值,包含正无穷大或忽略NaN的最大值
在Python中,可以使用numpy.nanmax()方法返回数组的最大值或忽略任何NaN的最大值。该方法返回一个与a形状相同的数组,其中指定轴已移除。如果a是0维数组,或者axis为None,则返回一个ndarray标量。返回的数据类型与a相同。第一个参数a是一个包含所需最大值的数字数组。如果a不是数组,则尝试进行转换。
第二个参数axis是计算最大值的轴或轴集。默认为计算扁平化数组的最大值。第三个参数out是放置结果的备用输出数组。默认为None;如果提供,它必须与预期输出具有相同的形状,但类型将根据需要进行转换。
第四个参数keepdims如果设置为True,则减少的轴将作为大小为一的维度保留在结果中。使用此选项,结果将针对原始a正确广播。如果值不是默认值,则keepdims将传递到ndarray子类的max方法。如果子类方法未实现keepdims,则将引发任何异常。第五个参数是输出元素的最小值。必须存在才能允许对空切片进行计算
步骤
首先,导入所需的库:
import numpy as np
使用array()方法创建一个numpy数组。我们添加了int类型的元素,包括nan和inf(正无穷大):
arr = np.array([[25, 50, 75], [90, np.nan, np.inf]])
显示数组:
print("Our Array...\n",arr)
检查维度:
print("\nDimensions of our Array...\n",arr.ndim)
获取数据类型:
print("\nDatatype of our Array object...\n",arr.dtype)
要返回数组的最大值或忽略任何NaN的最大值,请使用numpy.nanmax()方法:
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 and inf (positive infinity) arr = np.array([[25, 50, 75], [90, np.nan, np.inf]]) # 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 o compute the maximum of the flattened array. print("\nResult (nanmax)...\n",np.nanmax(arr))
输出
Our Array... [[25. 50. 75.] [90. nan inf]] Dimensions of our Array... 2 Datatype of our Array object... float64 Result (nanmax)... inf
广告