📅  最后修改于: 2023-12-03 14:55:32.035000             🧑  作者: Mango
NumPy(Numerical Python)是用于科学计算的Python库。如果您需要在Python中进行高级数学计算,则应使用NumPy。本文将介绍如何在NumPy数组中查找最大和最小元素。
要查找NumPy数组中的最大和最小元素,可以使用NumPy的amin
和amax
函数。
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]
如果您需要获得最小和最大元素的索引(而不是值),可以使用argmin
和argmax
函数。
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
print("最小元素的索引:", np.argmin(arr))
print("最大元素的索引:", np.argmax(arr))
输出:
最小元素的索引: 0
最大元素的索引: 4
请注意,argmin
和argmax
函数仅查找一维数组中的索引。要查找多维数组中的索引,请使用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中,可以使用amin
,amax
,min
,max
,argmin
和argmax
函数来查找最小和最大元素,以及它们的索引。在多维数组中,还可以使用axis
参数来查找每行或每列的最小和最大元素。