python - 带键的元素最大值

标签 python numpy key max elementwise-operations

是否有更有效的方法来执行逐元素最大值使用 key

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])

最佳答案

您可以使用:

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

关于python - 带键的元素最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49510534/

相关文章:

python - numpy 数组中每个元素的邻居加权数组

swift - Swift 4 中的 Smart KeyPaths 无法正常工作

Mysql - 如何将网址保存为唯一键

python - 在 python2.7 和 python 3.5 上获得不同的 O/P

python - 为什么训练我的朴素贝叶斯分类器需要这么多内存?

python - 如何使用 wavio 将双 channel wav 文件的每个 channel 分成两个不同的文件?还是另一个图书馆?

python - 评估 numpy.radians 和浮点/数组输入元素的类型提示

Python numpy/scipy 特征向量似乎不适合马尔可夫链模型

python - _constraints,无法创建退款发票 Odoo v10 社区

objective-c - 此类对于键 PerformRotate 不符合键值编码