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