📅  最后修改于: 2023-12-03 15:13:28.596000             🧑  作者: Mango
在数据处理和机器学习中,经常会用到求取 数组(向量)中最大值的函数,其中最常用的就是 max
和 argmax
函数。
max
函数是一个内置函数,用于取数组中的最大值。当数组是一维的时候,可以直接使用 max
函数:
arr = [3, 2, 1, 4]
max_val = max(arr)
print(max_val) # 输出 4
当数组是二维或更高维的时候,需要指定 axis
参数来指定沿着哪个维度求取最大值。例如,对于以下二维数组:
arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
要求取每行的最大值,则可以指定 axis=1
:
max_vals = max(arr, key=lambda x: max(x))
print(max_vals) # 输出 [3, 6, 9]
argmax
函数是求取最大值所在索引的函数。当数组是一维的时候,可以直接使用 index
方法来实现:
arr = [3, 2, 1, 4]
max_idx = arr.index(max(arr))
print(max_idx) # 输出 3
当数组是二维或更高维的时候,同样要指定 axis
参数来指定沿着哪个维度求取最大值。例如,对于以下二维数组:
arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
要求取每行的最大值所在列的索引,则可以使用 argmax
函数和 numpy
模块来实现:
import numpy as np
max_idxs = np.argmax(arr, axis=1)
print(max_idxs) # 输出 [2 2 2]
max
函数用于求取数组的最大值。argmax
函数用于求取数组最大值所在的索引。max
函数可以直接应用于一维数组,对于多维数组需要指定沿着哪个维度求取最大值。argmax
函数可以用于任意维度的数组,需要使用 numpy
模块来实现。