Numpy中np.max的用法及np.maximum区别

1. Numpy中np.max的用法

在Numpy中,np.max函数是用于返回数组或者某个轴上的最大值。函数的常见参数如下:

numpy.max(arr,axis=None)

arr: 数组;

axis: axis用于计算最大值的轴,默认为None,返回数组的最大值。

下面通过一个简单的例子来加深理解。

import numpy as np

#定义一维数组

a = np.arange(5)

print('a:',a)

#计算a数组的最大值

print('a数组的最大值:',np.max(a))

#定义二维数组

b = np.arange(6).reshape(2,3)

print('b:',b)

#计算b数组的每一列的最大值

print('b数组每一列的最大值:',np.max(b,axis=0))

#计算b数组的每一行的最大值

print('b数组每一行的最大值:',np.max(b,axis=1))

以上代码的输出结果如下:

a: [0 1 2 3 4]

a数组的最大值: 4

b: [[0 1 2]

[3 4 5]]

b数组每一列的最大值: [3 4 5]

b数组每一行的最大值: [2 5]

通过对以上代码的分析,我们可以得出以下结论:

在未指定轴的情况下,np.max函数默认返回整个数组的最大值。

在指定轴的情况下,np.max函数返回轴上的最大值。

2. np.maximum与np.max的区别

np.maximum有点类似于np.max,它也可以计算两个数组或者标量中的最大值,但是它的使用方式与np.max有一些不同。np.maximum函数常见的形式如下:

numpy.maximum(x1,x2,*args,**kwargs)

x1,x2: x1,x2可以是数组或者标量

返回值:按元素上比较后返回最大值。

下面通过一个具体的例子来进一步了解np.maximum的使用。

import numpy as np

#定义两个数组

a = np.array([15,16,17,18,19])

b = np.array([10,12,18,21,25])

print('a:',a)

print('b:',b)

#将a中的每一个元素与b中对应位置的元素进行比较,返回最大值

c = np.maximum(a,b)

print('c:',c)

运行以上代码,我们可以得到如下的输出结果:

a: [15 16 17 18 19]

b: [10 12 18 21 25]

c: [15 16 18 21 25]

通过对以上代码的分析,可以得出以下结论:

np.maximum函数可以比较两个数组或者标量的每一个元素,返回两者对应位置上的最大值。

np.maximum函数的返回值的形状与两个输入数组的形状相同。

总结

在Numpy中,np.max和np.maximum都是计算最大值的函数,不同的是,np.max函数主要用于计算数组中的最大值,而np.maximum函数用于计算两个数组或者标量中位置上的最大值。在具体的使用中,我们需要根据自己的需求来选择使用哪个函数。

后端开发标签