NumPy中的元素数组最大函数(超过两个数组)

Wan*_*uan 24 python numpy max

我试图在元素方面的比较中返回多个数组的最大值.例如:

A = array([0, 1, 2])
B = array([1, 0, 3])
C = array([3, 0, 4])
Run Code Online (Sandbox Code Playgroud)

我想要生成的数组array([3,1,4]).

我想使用numpy.maximum,但它只适用于两个阵列.两个以上的数组有一个简单的函数吗?

Dan*_*iel 38

使用此设置:

>>> A = np.array([0,1,2])
>>> B = np.array([1,0,3])
>>> C = np.array([3,0,4])
Run Code Online (Sandbox Code Playgroud)

你可以这样做:

>>> np.maximum.reduce([A,B,C])
array([3, 1, 4])
Run Code Online (Sandbox Code Playgroud)

要么:

>>> np.vstack([A,B,C]).max(axis=0)
array([3, 1, 4])
Run Code Online (Sandbox Code Playgroud)

我会选择第一个选项.


Gur*_*ngh 10

您可以使用"reduce"重复将二进制函数应用于值列表...

对于A,B和C给出的问题......

>>> np.maximum.reduce([A,B,C])

阵列([3,1,4-])

它首先计算A和B的np.maximum,然后计算np.maximum(np.A和B的最大值)和C.