Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 优化将一个阵列复制到另一个具有一定偏移量的阵列_Python_Numpy - Fatal编程技术网

Python 优化将一个阵列复制到另一个具有一定偏移量的阵列

Python 优化将一个阵列复制到另一个具有一定偏移量的阵列,python,numpy,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 在这里,我只是在做图像翻

我有下面的代码,其中我使用了两个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
在这里,我只是在做图像翻译。

这样可以:

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
的功能是确保你不会越界(类似于你的
try
除了
),剩下的就是基本的切片

是的,使用切片。您知道如何(使用切片)在翻译的
中索引目标区域吗?为什么循环代码使用
try/except
?你是否认为有些作业不起作用?会被禁止吗?你能告诉我们翻译后的
形状
,它与
data1
的形状和偏移量有关吗?ValueError:无法将输入数组从形状(10381235)广播到形状(01235),我得到了上面的错误,这意味着你的翻译完全超出了范围,只需添加更多检查。。。