高效快速的函数调用2d数组

时间:2013-12-04 13:37:12

标签: python arrays optimization numpy

我有一个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方法来优化此循环的性能?

0 个答案:

没有答案