优化将一个数组复制到另一个数组的偏移量

时间:2019-03-25 23:10:45

标签: python numpy

我有以下代码,在其中我使用了两个for循环来进行迭代,并在偏移位置将元素数组和复制并复制到另一个元素,如果没有for循环就可以实现更快的计算呢?

for i in range (data1.shape[0]):
    for j in range (data1.shape[1]):
        try:
            translated[i+x_cord][j+y_cord]=data1[i][j]

        except:
            pass

在这里,我只是在进行图像翻译。

1 个答案:

答案 0 :(得分:0)

这可以做到:

translated[x_cord:min(x_cord+data1.shape[0],translated.shape[0]), y_cord:min(y_cord+data1.shape[1],translated.shape[1])] = data1[:min(data1.shape[0],translated.shape[0]-x_cord), :min(data1.shape[1],translated.shape[1]-y_cord)]    

min的目的是确保您不会超出范围(tryexcept的模拟),其余的都是基本切片...