我有下面的代码,其中我计算数组元素的平均差,每个元素之间的平均差。有没有比嵌套循环(比如numpy函数)更有效的方法?你知道吗
import numpy as np
a = np.array([0.02625, -0.04125, -0.00875, -0.05625, 0.04375, 0.03625])
delta = []
for i in range(len(a) - 1):
for j in range(i+1, len(a)):
delta.append(a[i] - a[j])
delta = np.array(delta)
avg_dist = np.sum(np.abs(delta)) / delta.size
进近#1
用^{} /^{} 获得成对索引,使用这些索引到输入数组中,从而计算差异-
进近#2
我们还可以使用
slicing
和一个循环,这应该是内存效率,因为它避免生成索引,就像在前面的方法中所做的那样-具有
10000
元素的大型数组上的计时-相关问题 更多 >
编程相关推荐