python之np.argmax()及对axis=0或者1的理解

  • Post category:Python

好的,下面是关于“Python之np.argmax()及对axis=0或者1的理解”的完整攻略。

1. np.argmax()函数

np.argmax()函数是numpy库中的一个函数用于返回数组中最大值的索引。该函数的语法如下:

numpy.argmax(arr, axis=None, out=None)

其中,表示要查找最大值的数组;axis表示要沿着哪个轴查找最大值,默认为None,表示查找整个数组中的最大值;out表示输出结果的数组,如果不指定,则返回一个标量。

2. axis参数的理解

在使用np.argmax()函数时,axis参数非常重要。axis参数用于指定沿着哪个轴查找最大值。当axis=0时,表示沿着第0个轴查找最大值;当axis=1时,表示沿着第1个轴查找最大值。以下是对axis参数的两种理解方式:

2.1 沿着行或列找最大值

当axis=0时,表示沿着列查找最大值;当axis=1时,表示沿着行查找最大值。,以下代码可以返回二维数组中每列的最大值:

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(np.argmax(arr, axis=0))

输出结果为:

[2 2 2]

其中,[2 2 2]表示每列的最大值所在的行索引。

2.2 沿着多个轴查找最大值

当axis参数为一个元组时,表示沿着多个轴查找最大值。例如,以下代码可以返回三维数组中每个二维数组中每行的最大值:

import numpy as np

arr = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]])
print(np.argmax(arr, axis=(1, 2)))

输出结果为:

[2 5]

其中,[2 5]表示每个二维数组中每行的最大值所在的列索引。

3. 示例说明

以下是两个示例,用于说明np.argmax()函数及axis参数的使用:

3.1 沿着列查找最大值

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(np.argmax(arr, axis=0))

输出结果为:

[2 2 2]

其中,[2 2 2]表示每列的最大值所在的行索引。

3.2 沿着行查找最大值

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(np.argmax(arr, axis=1))

输出结果为:

[2 2 2]

其中,[2 2 2]表示每行的最大值所在的列索引。

4. 结语

本文介绍了np.argmax()函数及axis参数的使用方法。如果您在Python编程中需要查找数组中的最大值,可以使用np.argmax()函数,并根据需要指定axis参数。