返回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和NINF(负无穷大):

arr = np.array([[25, 50, 75], [90, np.nan, np.NINF]])

显示数组:

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标量。返回的数据类型与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 and NINF (negative infinity)
arr = np.array([[25, 50, 75], [90, np.nan, np.NINF]])

# 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...
[[ 25. 50. 75.]
[ 90. nan -inf]]

Dimensions of our Array...
2

Datatype of our Array object...
float64

Result (nanmax)...
90.0

更新于:2022年2月28日

656 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告