带键的元素最大值

2024-09-22 16:38:14 发布

您现在位置:Python中文网/ 问答频道 /正文

有没有一种更有效的方法来实现?在

import numpy as np
a = np.array([-2, 2, 4, 0])
b = np.array([-3,-5, 2, 0])
c = np.array([ 1, 1, 1, 1])

mxs = np.empty((4,))
for i in range(4):
    mxs[i] = max([a[i], b[i], c[i]], key=abs)

>>> mxs
array([-3., -5.,  4.,  1.])

不幸的是,numpy.maximum没有提供key参数,因为可以用以下方式执行类似的操作: np.maximum.reduce([a,b,c])


Tags: 方法keyinimportnumpyforasnp
2条回答

而不是将键函数作为绝对函数作为整数函数。在


代码

import numpy as np
a = np.array([-2, 2, 4, 0])
b = np.array([-3,-5, 2, 0])
c = np.array([ 1, 1, 1, 1])

mxs = np.empty((4,))
for i in range(4):
   mxs[i] = max([a[i], b[i], c[i]], key=int)

print(mxs)

您可以使用:

arr = np.array([a,b,c])
arr[np.argmax(np.abs(arr), axis=0), np.arange(arr.shape[1])]

相关问题 更多 >