NumPy amin() 函数
NumPy amin() 函数返回数组沿指定轴的最小值。如果未指定轴,则计算数组中所有元素的最小值。此外,还可以应用条件,根据特定标准获取最小值。
语法
以下是 NumPy amin() 函数的语法 -
numpy.amin(a, axis=None, out=None, keepdims=False, initial=None, where=True)
参数
以下是 NumPy amin() 函数的参数 -
- a:输入数组。该数组可以是任意形状或数据类型。
- axis(可选):计算最小值的轴。如果为 None,则在展平数组上计算最小值。
- out(可选):用于放置结果的备用输出数组。其形状必须与预期输出相同。
- keepdims(可选):如果为 True,则缩小的维度在输出中保留为大小为 1 的维度。默认值为 False。
- initial(可选):启动比较的初始值。如果未提供,则默认值为该数据类型的最大可能值。
- where(可选):布尔数组。如果为 True,则在计算中包含相应的元素;否则,忽略它。
返回值
此函数返回一个标量值或一个 NumPy 数组,其中包含指定轴上的最小值。
示例
以下是使用 NumPy amin() 函数查找数组中最小值的基本示例 -
import numpy as np
# 输入数组
array = np.array([3, 5, 1, 7, 9])
# 查找最小值
min_value = np.amin(array)
print("最小值:", min_value)
输出
以下是上述代码的输出 −
最小值:1
示例:沿轴求最小值
amin() 函数可以查找多维数组中沿指定轴的最小值。在以下示例中,我们计算沿行和列的最小值 -
import numpy as np
# 二维输入数组
array = np.array([[3, 7, 5], [8, 4, 2], [6, 1, 9]])
# 沿行 (axis=1) 的最小值
min_along_rows = np.amin(array, axis=1)
print("沿行的最小值:", min_along_rows)
# 沿列 (axis=0) 的最小值
min_along_columns = np.amin(array, axis=0)
print("沿列的最小值:", min_along_columns)
输出
以下是输出以上代码 −
行方向最小值:[3 2 1] 列方向最小值:[3 1 2]
示例:使用 keepdims 实现最小值
keepdims 参数将缩减后的维度保留为输出中的一维。在此示例中,我们演示了它的用法 -
import numpy as np
# 二维输入数组
array = np.array([[3, 7, 5], [8, 4, 2], [6, 1, 9]])
# keepdims=True 时沿行求最小值
min_with_keepdims = np.amin(array, axis=1, keepdims=True)
print("使用 keepdims 求最小值:
", min_with_keepdims)
输出
以下是上述代码的输出 -
使用 keepdims 求最小值: [[3] [2] [1]]
示例:使用"where"条件的最小值
where 参数允许根据条件计算最小值。在以下示例中,我们仅计算选定元素的最小值 -
import numpy as np
# 输入数组
array = np.array([3, 5, 1, 7, 9])
# where 条件(仅包含大于 4 的值)
min_with_condition = np.amin(array, where=array > 4, initial=10)
print("Minimum with condition:", min_with_condition)
输出
以下是上述代码的输出 -
Minimum with condition: 5
示例:'amin()' 的图形表示
在以下例如,我们可视化二维数组的行和列上的最小值。为此,我们需要导入 numpy 和 matplotlib.pyplot 模块 -
import numpy as np
import matplotlib.pyplot as plt
# 二维输入数组
array = np.array([[3, 7, 5], [8, 4, 2], [6, 1, 9]])
# 沿行最小值
min_rows = np.amin(array, axis=1)
# 沿列最小值
min_columns = np.amin(array, axis=0)
plt.plot(range(len(min_rows)), min_rows, label="沿行最小值")
plt.plot(range(len(min_columns)), min_columns, label="沿列的最小值")
plt.title("amin() 结果可视化")
plt.xlabel("索引")
plt.ylabel("最小值")
plt.legend()
plt.grid()
plt.show()
输出
该图可视化了数组沿行和列的最小值 -
numpy_statistical_functions.html

