NumPy min()

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

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战