向量化numpy多维数组。明智的操作数组而不是元素的

时间:2019-10-16 08:18:38

标签: python arrays performance numpy vectorization

我在这里找不到答案,所以希望大家能帮上忙。 我们都知道,我们不应该在python中遍历一个数组,因为它花费了很多时间,所以我想对其进行向量化。 首先操作: 我的操作将比较两个一维分布:

from pyemd import emd
def vectoriztaion(a=np.ones(25),b=np.ones(25)):
    value = pyemd.emd(np.array(a), np.array(b), helper.get_distance_matrix())
    return value

如您所见,输入a和b是shape(25)的np.arrays。 现在我计划使用np.vectorize函数

vfunc = np.vectorize(vectoriztaion)
result = vfunc(A,B)

其中A和B均为shape(N,25)的np.array。 我希望代码返回一个shape(N)的np.array。

运行代码会给我这个错误:

ValueError: Buffer has wrong number of dimensions (expected 1, got 0)

如果您遇到了类似的问题,或者您知道如何使该代码运行。 请让我知道。

预先感谢

0 个答案:

没有答案