另一个 numpy 数组处理问题:我有一个大约。具有固定大小(我知道)的 2000³ 条目 numpy 数组,包含整数。我想用另一个整数填充数组,以便它在所有维度上都被包围。这个整数在整个填充过程中是固定的。
example (2D)
1----->000
010
000
我有两个想法,导致了这个结果:
创建一个更大的 numpy 数组,包含填充值并“切片”填充中的旧区域:
padded=np.zeros((z+2,x+2,y+2)) padded[1:z+1,1:x+1,1:y+1]=olddata
使用 np.insert 或 hstack,vstack,dstack 添加值:
padded=np.insert(data,0,0,axis=0) padded=np.insert(data,x+1,0,axis=0) etc.
问题是,所有这些方法都不是就地的,而是分配一个新数组 (1.) 或复制旧数组 (2.)。有没有办法就地进行填充?我知道,从 numpy 1.7 开始。有 numpy.pad 模块。但这似乎也使用了某种分配和覆盖(就像我的 1. 方式)。