📌  相关文章
📜  查找 NumPy 数组中的最大和最小元素(1)

📅  最后修改于: 2023-12-03 14:55:32.035000             🧑  作者: Mango

查找 NumPy 数组中的最大和最小元素

NumPy(Numerical Python)是用于科学计算的Python库。如果您需要在Python中进行高级数学计算,则应使用NumPy。本文将介绍如何在NumPy数组中查找最大和最小元素。

查找最大和最小元素

要查找NumPy数组中的最大和最小元素,可以使用NumPy的aminamax函数。

import numpy as np

arr = np.array([1, 2, 3, 4, 5])

print("最小元素:", np.amin(arr))
print("最大元素:", np.amax(arr))

输出:

最小元素: 1
最大元素: 5

我们还可以使用ndarray.min()ndarray.max()方法来查找数组中的最小和最大元素,如下所示:

import numpy as np

arr = np.array([1, 2, 3, 4, 5])

print("最小元素:", arr.min())
print("最大元素:", arr.max())

输出:

最小元素: 1
最大元素: 5
查找每行或每列的最大和最小元素

要查找每行或每列的最大和最小元素,可以使用带有axis参数的上述函数或方法。

例如,要查找下面的二维数组中每行的最小值和最大值:

import numpy as np

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

print("每行最小值:", np.amin(arr, axis=1))
print("每行最大值:", np.amax(arr, axis=1))

输出:

每行最小值: [1 4 7]
每行最大值: [3 6 9]

要查找每列的最小值和最大值,只需将axis参数设置为0即可:

import numpy as np

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

print("每列最小值:", np.amin(arr, axis=0))
print("每列最大值:", np.amax(arr, axis=0))

输出:

每列最小值: [1 2 3]
每列最大值: [7 8 9]
确定最小和最大元素的索引

如果您需要获得最小和最大元素的索引(而不是值),可以使用argminargmax函数。

import numpy as np

arr = np.array([1, 2, 3, 4, 5])

print("最小元素的索引:", np.argmin(arr))
print("最大元素的索引:", np.argmax(arr))

输出:

最小元素的索引: 0
最大元素的索引: 4

请注意,argminargmax函数仅查找一维数组中的索引。要查找多维数组中的索引,请使用unravel_index函数:

import numpy as np

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

min_index = np.unravel_index(np.argmin(arr), arr.shape)
max_index = np.unravel_index(np.argmax(arr), arr.shape)

print("最小元素的索引:", min_index)
print("最大元素的索引:", max_index)

输出:

最小元素的索引: (1, 1)
最大元素的索引: (2, 2)
结论

在NumPy中,可以使用aminamaxminmaxargminargmax函数来查找最小和最大元素,以及它们的索引。在多维数组中,还可以使用axis参数来查找每行或每列的最小和最大元素。