Python numpy max() 函数用于查找给定数组沿指定轴上的最大元素。
语法
此统计 Python numpy max() 方法的语法为
numpy.max(a, axis = None, out = None, keepdims = <no value>, initial = <no value>, where = <no value>)
其中,a 是一个必需的 ndarray,而所有其他参数都是可选的。
Python numpy max 示例
在此示例中,我们声明了一个一维 ndarray。我们使用此 max() 方法来查找其中的最大项。
import numpy as np a = np.array([5, 11, 1, 99, 77, 6]) b = np.max(a) print(b)
99
二维示例
在此程序中,我们将声明一个二维方阵,以查找所有ndarray行和列中的最小值。
import numpy as np a = np.array([[40, 60], [85, 50]]) b = np.max(a) print(b)
85
Python numpy max 行和列操作
如果未提供轴,则此 max() 方法将查找所有维度中的最大元素。但是,我们可以通过指定轴值来计算行和列的最大值。例如,在下面的示例中,axis = 0 打印每列中的最大项,axis = 1 打印二维数组的行。
keepdims 参数接受布尔值 True 或 False,默认值为 false。因此,如果使用 keepdims 参数的 True 值,结果将进行重塑。
在这里,c 变量查找每列中的最大值,d 变量查找每行中的最大值。
import numpy as np a = np.random.randint(20, 50, size = (5, 4)) print(a) b = np.max(a) print(b) c = np.max(a, axis = 0) print(c) d = np.max(a, axis = 1) print(d) e = np.max(a, axis = 1, keepdims = True) print(e)
[[39 31 22 44]
[38 25 31 23]
[29 48 33 26]
[23 35 43 33]
[32 46 24 21]]
48
[39 48 43 44]
[44 38 48 43 46]
[[44]
[38]
[48]
[43]
[46]]
out 参数
使用 out 变量将 max() 方法的结果保存在数组中。请记住,变量大小必须与输出匹配。在此示例中,np.max(a, axis = 1, out = x) 将每行结果的最大值保存在 x 数组中。
import numpy as np
a = np.random.randint(10, 80, size = (5, 4))
print(a)
x = np.arange(5)
b = np.max(a, axis = 1)
print(b)
np.max(a, axis = 1, out = x)
print('x = ', x)
[[47 14 73 75]
[35 60 64 79]
[54 69 48 28]
[65 44 66 43]
[19 76 47 60]]
[75 79 69 66 76]
x = [75 79 69 66 76]
where 参数
要使用 where 参数,您必须使用 initial;否则,Python numpy max 将引发错误。例如,我们在下面的代码中沿轴使用了 where 参数。
import numpy as np a = np.array([[2, 5, 3], [4, 6, 7], [1, 2, 9]]) print(a) b = np.max(a) print(b) c = np.max(a, where = [True, True, False], initial = 5) print(c) d = np.max(a, where = [False, True, True], axis = 0, initial = -7) print(d)
[[2 5 3]
[4 6 7]
[1 2 9]]
9
6
[-7 6 9]
where = [True, True, False], initial = 5 – 它将忽略第三列,并检查第一列和第二列以查找最大值。否则,输出 = 9。
where = [False, True, True], axis = 0, initial = -7 – 由于第一列为 False,最大值为 -7(来自 initial 参数)。假设您将第二列的 initial 值更改为 8。在这种情况下,它会将 initial 值(8)与列值(5、6 和 2)进行比较并返回 8 作为输出。对于第三列,initial 值小于 9。