我有一个2d numpy对象数组:A
和一个numpy值数组:l
(nx2数组)
2d numpy对象数组中的每个元素都有两个值,如[ax1,ay1],类似于l
。
我调用自己的距离函数并计算l的第一个元素与A中每个元素之间的距离,然后取最小距离。循环看起来像这样:
for r in range(A.shape[0]):
for s in range(A.shape[1]):
lencent = l.shape[0]
dist = []
for p in range(lencent):
dist.append(distancefunction(A[r,s],A[r,s],l[p,0],l[p,1]))
#print dist
val = np.min(dist)
#print val
tempimg[r,s] = val
但是当numpy数组A很大,或者l很大,或者两者兼而有之时,这需要花费大量时间。是否有任何pythonic方法来优化此循环的性能?