这个问题之前已经有人问过,但解决方案只适用于一维/二维数组,我需要一个更通用的答案。
如何创建一个重复的数组而不复制数据?这对于向量化Python操作并避免内存消耗非常有用。
更具体地说,我有一个(y,x)数组,我想多次平铺它以创建一个(z,y,x)数组。我可以使用numpy.tile(array,(nz,1,1))来实现此目的,但我会耗尽内存。我的具体情况是x = 1500,y = 2000,z = 700。
如何创建一个重复的数组而不复制数据?这对于向量化Python操作并避免内存消耗非常有用。
更具体地说,我有一个(y,x)数组,我想多次平铺它以创建一个(z,y,x)数组。我可以使用numpy.tile(array,(nz,1,1))来实现此目的,但我会耗尽内存。我的具体情况是x = 1500,y = 2000,z = 700。
array [None,:,:]
可能与平铺数组一样有用。除非在 y 或 x 维度上执行某种点乘
操作,否则您仍可能遇到内存错误。 - hpaulj