np.amax
是 NumPy 中的一个函数,用于返回数组中的最大值。它支持多维数组,并可以根据指定的轴返回该轴上的最大值。
基本用法
numpy.amax(a, axis=None, out=None, keepdims=<no value>, initial=<no value>, where=<no value>)
参数说明
-
a
:- 输入数组或类似数组的结构。
-
axis
(可选):- 指定计算最大值的轴。
- 默认值为
None
,表示对整个数组计算最大值。 - 如果是多维数组,可以指定轴来沿特定轴计算最大值。
-
out
(可选):- 指定一个数组来存储结果。
- 它的形状必须和计算结果的形状相同。
-
keepdims
(可选):- 默认值为
False
。 - 如果设置为
True
,计算结果会保留原数组的维度。例如,在一个二维数组中沿一个轴求最大值后,结果仍然是二维的。
- 默认值为
-
initial
(可选):- 指定最大值的初始值,计算时会与数组中的值进行比较。
-
where
(可选):- 布尔条件数组。仅在
where
为True
的位置计算最大值。
- 布尔条件数组。仅在
返回值
- 返回数组中的最大值,如果指定了
axis
,则返回沿该轴的最大值。
示例
1. 基本使用
import numpy as nparr = np.array([[1, 2, 3], [4, 5, 6]])
result = np.amax(arr)
print(result) # 输出:6
2. 指定轴
import numpy as nparr = np.array([[1, 2, 3], [4, 5, 6]])
result = np.amax(arr, axis=0) # 沿列计算最大值
print(result) # 输出:[4 5 6]result = np.amax(arr, axis=1) # 沿行计算最大值
print(result) # 输出:[3 6]
3. 使用 keepdims
import numpy as nparr = np.array([[1, 2, 3], [4, 5, 6]])
result = np.amax(arr, axis=1, keepdims=True)
print(result)
# 输出:
# [[3]
# [6]]
4. 使用 where
import numpy as nparr = np.array([1, 2, 3, 4])
mask = [True, False, True, False]
result = np.amax(arr, where=mask, initial=-np.inf)
print(result) # 输出:3
5. 使用 out
import numpy as nparr = np.array([1, 2, 3])
out_arr = np.empty(1) # 创建一个空数组
np.amax(arr, out=out_arr)
print(out_arr) # 输出:[3.]
注意事项
np.amax
和a.max()
等效,其中a
是一个数组。- 如果数组为空且没有指定
initial
参数,会抛出ValueError
。
总结
np.amax
是一个方便的工具,用于查找数组的最大值。- 它支持多维数组的操作,并允许通过
axis
、where
等参数灵活调整计算范围和结果形式。