min() 方法返回数组沿轴的最小元素。
示例
import numpy as np
array1 = np.array([10, 12, 14, 11, 5])
# return the smallest element
minValue= np.min(array1)
print(minValue)
# Output: 5
min() 语法
min() 的语法是
numpy.min(array, axis = None, out = None, keepdims = <no value>, initial=<no value>, where=<no value>)
min() 参数
min() 方法接受六个参数
array- 输入数组axis(可选) - 返回最小值的轴(int)out(可选) - 用于存储输出的数组keepdims(可选) - 是否保留输入数组的维度 (bool)initial(可选) - 输出元素的最小值(标量)where(可选) - 包含在最小值计算中的元素(bool数组)
min() 返回值
min() 方法返回最小元素。
注意:如果输入数组中至少有一个元素是 NaN,则 min() 将返回 NaN。
示例 1:2D 数组的 min()
axis 参数定义了我们如何处理 2D 数组中的最小元素。
- 如果
axis=None,数组将被展平,并返回展平数组的最小值。 - 如果
axis= 0,则返回每列的最小元素。 - 如果
axis= 1,则返回每行的最小元素。
import numpy as np
array = np.array([[10, 17, 25],
[15, 11, 22]])
# return the smallest element of the flattened array
minValue = np.min(array)
print('The smallest element in the flattened array: ', minValue)
# return the smallest element in each column
minValue = np.min(array, axis = 0)
print('The smallest element in each column (axis 0): ', minValue)
# return the smallest element in each row
minValue = np.min(array, axis = 1)
print('The smallest element in each row (axis 1): ', minValue)
输出
The smallest element in the flattened array: 10 The smallest element in each column (axis 0): [10 11 22] The smallest element in each row (axis 1): [10 11]
示例 2:使用 out 将结果存储在所需位置
在我们之前的示例中,min() 函数生成了一个新的输出数组。
但是,我们可以使用 out 参数使用现有数组来存储输出。
import numpy as np
array1 = np.array([[10, 17, 25],
[15, 11, 22],
[11, 19, 20]])
# create an empty array
array2= np.array([0, 0, 0])
# pass the 'out' argument to store the result in array2
np.min(array1, axis = 0, out = array2)
print(array2)
输出
[10 11 20]
示例 3:带 keepdims 的 min()
当 keepdims = True 时,结果数组的维度与输入数组的维度匹配。
import numpy as np
array1 = np.array([[10, 17, 25],
[15, 11, 22]])
print('Dimensions of original array: ', array1.ndim)
minValue = np.min(array1, axis = 1)
print('\n Without keepdims: \n', minValue)
print('Dimensions of array: ', minValue.ndim)
# set keepdims to True to retain the dimension of the input array
minValue = np.min(array1, axis = 1, keepdims = True)
print('\n With keepdims: \n', minValue)
print('Dimensions of array: ', minValue.ndim)
输出
Dimensions of original array: 2 Without keepdims: [10 11] Dimensions of array: 1 With keepdims: [[10] [11]] Dimensions of array: 2
如果不使用 keepdims,结果只是一个包含最小数字的一维数组。
使用 keepdims 时,结果数组具有与输入数组相同的维度数。
示例 4:带 initial 的 min()
我们使用 initial 来定义 np.min() 可以返回的最大值。如果数组的最小值大于初始值,则返回 initial。
import numpy as np
# min value < initial, returns min value
array1 = np.array([[10, 25, 17, 16, 14]])
minValue = np.min(array1, initial = 16)
print(minValue)
# min value > initial, returns initial
array2 = np.array([[10, 25, 17, 16, 14]])
minValue = np.min(array2, initial = 6)
print(minValue)
# in case of an empty array, initial value is returned
array3 = np.array([])
minValue = np.min(array3, initial = 5)
print(minValue)
输出
10 6 5.0
示例 5:带 where 参数的 min()
可选参数 where 指定了要包含在最小值计算中的元素。
import numpy as np
arr = np.array([[12, 25, 32],
[47, 50, 36]])
# take min of entire array
result1 = np.min(arr)
# min of only odd elements
result2 = np.min(arr, initial = 50, where = (arr%2==1))
# min of numbers greater than 30
result3 = np.min(arr, initial = 50,where = (arr > 30))
print('min of entire array:', result1)
print('min of only odd elements:', result2)
print('min of numbers greater than 30:', result3)
输出
min of entire array: 12 min of only odd elements: 25 min of numbers greater than 30: 32
