在 Python 中返回数组沿轴的最大值或忽略任何 NaN 的最大值


要在 Python 中返回数组的最大值或忽略任何 NaN 的最大值,请使用 numpy.nanmax() 方法。该方法返回一个与 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 元素:

arr = np.array([[10, 20, 30], [40, np.nan, 60]])

显示数组:

print("Our Array...
",arr)

检查维度:

print("
Dimensions of our Array...
",arr.ndim)

获取数据类型:

print("
Datatype of our Array object...
",arr.dtype)

要在 Python 中返回数组的最大值或忽略任何 NaN 的最大值,请使用 numpy.nanmax()。该方法返回一个与 a 形状相同的数组,其中指定轴已移除。如果 a 是一个 0 维数组,或者 axis 为 None,则返回一个 ndarray 标量。返回的数据类型与 a 相同:

print("
Result (nanmax)...
",np.nanmax(arr, axis = 1))

示例

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...
",arr) # Check the Dimensions print("
Dimensions of our Array...
",arr.ndim) # Get the Datatype print("
Datatype of our Array object...
",arr.dtype) # To return the maximum of an array or maximum ignoring any NaNs, use the numpy.nanmax() method in Python print("
Result (nanmax)...
",np.nanmax(arr, axis = 1))

输出

Our Array...
[[10. 20. 30.]
[40. nan 60.]]

Dimensions of our Array...
2

Datatype of our Array object...
float64

Result (nanmax)...
[30. 60.]

更新于:2022年3月1日

115 次查看

启动您的职业生涯

完成课程获得认证

开始
广告