【发布时间】:2017-07-20 14:16:04
【问题描述】:
我想从不同 numpy 数组的元素计算中获得一个 numpy 数组。截至目前,我正在使用 lambda 函数返回一个值,对所有值重复此操作,从中创建一个列表,然后转换为 numpy 数组:
import math
import numpy as np
def weightAdjLoads(loadsX, loadsY, angles, g):
adjust = lambda x, y, a: math.sqrt((abs(x) - math.sin(a)*g)**2 + (abs(y) - math.cos(a)*g)**2)
return np.array([adjust(x, y, a) for x, y, a in zip (loadsX, loadsY, angles)])
在我看来,这似乎是太多的开销。是否有任何 numpy 例程可以做到这一点?
我知道诸如 numpy.sqrt(A**2 + B**2) 之类的方法,其中 A 和 B 是 numpy 数组。但是,那些只允许应用预定义的公式。如何在 numpy 数组上应用自定义公式?
【问题讨论】:
-
“但是,那些只允许应用预定义的公式。如何在 numpy 数组上应用自定义公式?” - 你是什么意思,只有预定义的公式?以自然适用于 NumPy 数组的方式编写自定义公式。