返回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

更新于:2022年2月28日

91次浏览

开启您的职业生涯

完成课程获得认证

开始学习
广告