📜  Python中的 np.nanmax()(1)

📅  最后修改于: 2023-12-03 14:46:35.791000             🧑  作者: Mango

Python中的 np.nanmax()

在Python中,如果要查找数组或数组的轴上忽略NaN值的最大值,可以使用numpy(np)中的 np.nanmax()函数。np.nanmax()函数返回轴上的最大值或全局最大值,忽略NaN值。

语法
numpy.nanmax(arr, axis=None)

参数说明:

  • arr : 输入数组,可以是列表(list)、元组(tuple)、数组(array),但需要是1-D或更高维度的数组。
  • axis : 需要沿着它计算的轴。默认情况下,会将所有元素看作一个整体进行计算。
返回值

numpy.nanmax() 函数返回输入数组中忽略NaN值的最大值。如果所有元素都是 NaN,则返回 NaN。

示例
import numpy as np

arr = np.array([[1, 2, np.nan], [4, np.nan, 6], [7, 8, 9]])

print("数组为:")
print(arr)

print("\nnp.nanmax(arr) 输出全局最大值:", np.nanmax(arr))

print("\nnp.nanmax(arr, axis=0) 输出每列最大值:", np.nanmax(arr, axis=0))

print("\nnp.nanmax(arr, axis=1) 输出每行最大值:", np.nanmax(arr, axis=1))

输出结果如下:

数组为:
[[ 1.  2. nan]
 [ 4. nan  6.]
 [ 7.  8.  9.]]

np.nanmax(arr) 输出全局最大值: 9.0

np.nanmax(arr, axis=0) 输出每列最大值: [7. 8. 9.]

np.nanmax(arr, axis=1) 输出每行最大值: [2. 6. 9.]

在上述示例中,我们创建了一个3x3的数组,其中有一些元素被设置为NaN。然后我们使用 np.nanmax() 函数来计算数组的最大值。

  • np.nanmax(arr) 输出全局最大值: 9.0
  • np.nanmax(arr, axis=0) 输出每列最大值: [7. 8. 9.]
  • np.nanmax(arr, axis=1) 输出每行最大值: [2. 6. 9.]

可以看出,np.nanmax() 函数可以忽略NaN值并返回所需的最大值。这在处理缺失值的数据时非常有用。