我在这里找不到答案,所以希望大家能帮上忙。 我们都知道,我们不应该在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)
如果您遇到了类似的问题,或者您知道如何使该代码运行。 请让我知道。
预先感谢