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

numpyserver side programmingprogramming更新于 2025/9/23 2:52:17

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

第一个参数 a 是一个包含所需最大值的数字的数组。如果 a 不是数组,则尝试进行转换。第二个参数 axis 是计算最大值的一个或多个轴。默认值是计算展平数组的最大值。第三个参数 out 是一个用于放置结果的备用输出数组。默认值为 None;如果提供,则其形状必须与预期输出相同,但必要时会强制转换类型。

第四个参数 keepdims 设置为 True,则缩小的轴将保留为大小为 1 的维度。使用此选项,结果将与原始 a 正确广播。如果该值不是默认值,则 keepdims 将传递给 ndarray 子类的 max 方法。如果子类方法未实现 keepdims,则会引发任何异常。第五个参数是输出元素的最小值。必须存在才能允许在空切片上进行计算。

步骤

首先,导入所需的库 −

import numpy as np

使用 array() 方法创建一个 numpy 数组。我们用 nan 添加了 int 类型的元素 −

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

显示数组 −

print("我们的数组...
",arr)

检查维度 −

print("
我们的数组的维度...
",arr.ndim)

获取数据类型 −

print("
数组对象的数据类型...
",arr.dtype)

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

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

示例

import numpy as np

# 使用 array() 方法创建 numpy 数组
# 我们用 nan 添加了 int 类型的元素
arr = np.array([[10, 20, 30], [40, np.nan, 60]])

# 显示数组
print("我们的数组...
",arr) # Check the Dimensions print("
我们的数组的维度...
",arr.ndim) # 获取数据类型 print("
数组对象的数据类型...
",arr.dtype) # 要返回数组的最大值或忽略任何 NaN 的最大值,请使用 Python 中的 numpy.nanmax() 方法 print("
Result (nanmax)...
",np.nanmax(arr, axis = 1))

输出

我们的数组...
[[10. 20. 30.]
[40. nan 60.]]

数组的维度...
2

数组对象的数据类型...
float64

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

相关文章