'n,m'告诉
r_沿着串联
axis=n,并产生至少具有
m尺寸的形状:
In [28]: np.r_['0,2', [1,2,3], [4,5,6]]Out[28]: array([[1, 2, 3], [4, 5, 6]])
因此,我们沿着轴= 0进行连接,因此通常期望结果具有shape
(6,),但是由于
m=2,我们要
r_知道形状必须至少为二维。因此,我们得到了形状
(2,3):
In [32]: np.r_['0,2', [1,2,3,], [4,5,6]].shapeOut[32]: (2, 3)
看一下当我们增加时会发生什么
m:
In [36]: np.r_['0,3', [1,2,3,], [4,5,6]].shapeOut[36]: (2, 1, 3) # <- 3 dimensionsIn [37]: np.r_['0,4', [1,2,3,], [4,5,6]].shapeOut[37]: (2, 1, 1, 3) # <- 4 dimensions
任何你可以用做
r_也可以用的更易读阵列建设的功能,如一个做
np.concatenate,
np.row_stack,
np.column_stack,
np.hstack,
np.vstack或者
np.dstack,虽然它可能还需要一个呼叫
reshape。
即使需要重塑形状,其他功能也可能更快:
In [38]: %timeit np.r_['0,4', [1,2,3,], [4,5,6]]10000 loops, best of 3: 38 us per loopIn [43]: %timeit np.concatenate(([1,2,3,], [4,5,6])).reshape(2,1,1,3)100000 loops, best of 3: 10.2 us per loop



