深入浅出np.amin函数

发布时间:2023-05-21

一、概述

NumPy是Python数据分析中最常用的库之一。NumPy中的amin()函数可以用于从给定数组中返回最小值,即它返回数组中的最小值。此函数还可以沿指定的轴比较两个数组,并返回较小值的数组元素。

import numpy as np
# 一维数组
arr = np.array([1, 2, 3, 4, 5])
print('一维数组arr的最小值为:', np.amin(arr))
# 二维数组
arr2d = np.array([[1, 2], [3, 4]])
print('二维数组arr2d的最小值为:', np.amin(arr2d, axis=0))

上述代码中,我们首先导入了NumPy库,并定义了一个一维数组arr和一个二维数组arr2d,然后将它们作为参数传递给amin()函数。

二、返回值类型

np.amin()函数的返回值取决于传递给它的参数类型。如果向amin()函数传递单个一维或二维数组,则返回其最小值。否则,它将比较两个数组,并返回较小值的数组元素。 如果参数是单个一维或二维数组,则np.amin()函数返回一个标量值。否则,它将返回一个形状相同的数组。

# 返回标量值
arr = np.array([1, 2, 3, 4, 5])
print('一维数组arr的最小值为:', np.amin(arr))
# 返回数组
arr2d = np.array([[1, 2], [3, 4]])
arr2d_min = np.amin(arr2d, axis=0)
print('二维数组arr2d每列的最小值为:', arr2d_min) 

三、轴参数

amin()函数可以沿指定的轴比较两个数组,并返回较小值的数组元素。如果不指定轴参数,则返回所有元素的最小值。 axis参数可以接受一个整数值或一个元组。如果传递的是一个整数值,则指定按照该轴的最小值计算。如果指定的是一个元组,则可以指定多个轴。

import numpy as np
arr2d = np.array([[1, 2], [3, 4], [5, 6]])
# 沿第一列计算最小值
print(np.amin(arr2d, axis=0))
# 沿第一行计算最小值
print(np.amin(arr2d, axis=1))
# 将所有元素与标量值比较
print(np.amin(arr2d, axis=None))

四、nan和inf数组

当数组中存在nan或inf时,如果不指定轴参数,则np.amin()函数会将整个数组视为nan或inf。

import numpy as np
# 数组中存在nan值
arr_nan = np.array([1, np.nan, 2, 3])
print(np.amin(arr_nan))
# 数组中存在inf值
arr_inf = np.array([1, 2, 3, np.inf])
print(np.amin(arr_inf))

如果指定了轴参数,则忽略nan或inf值并返回最小值。

import numpy as np
# 数组中存在nan值
arr2d_nan = np.array([[1, 2], [3, np.nan], [4, 5]])
print(np.amin(arr2d_nan, axis=0))
# 数组中存在inf值
arr2d_inf = np.array([[1, 2], [3, 4], [5, np.inf]])
print(np.amin(arr2d_inf, axis=1))

五、总结

本文中,我们介绍了NumPy中的amin()函数,并详细讨论了它的用法、返回值类型、轴参数以及处理nan和inf数组的方法。amin()函数是NumPy中用于查找数组最小值的有用函数。 要使用np.amin()函数,需要首先安装NumPy库,并发现如何使用jar包,或者使用pip命令来安装NumPy库。