numpy中stack的用法直观理解

首先生成一些数,

import numpy as np
a = np.arange(1, 7).reshape((2, 3))
b = np.arange(7, 13).reshape((2, 3))
c = np.arange(13, 19).reshape((2, 3))

print('a = \n', a)
print('b = \n', b)
print('c = \n', c)
即下面的形式

numpy中stack的用法直观理解

下面分别以不同的形式输出:

1、vstack

s = np.vstack((a, b, c))
print('vstack \n ', s.shape, '\n', s)
在竖直方向上进行堆叠,得到6×3的矩阵

                                   numpy中stack的用法直观理解

2、hstack

s = np.hstack((a, b, c))
print('hstack \n ', s.shape, '\n', s)
在水平方向上进行堆叠

                       numpy中stack的用法直观理解

3、axis=0

s = np.stack((a, b, c), axis=0)
print('axis = 0 \n ', s.shape, '\n', s)

就是下面的形式

                                                               numpy中stack的用法直观理解

具体为3组2×3矩阵

             numpy中stack的用法直观理解

4、axis=1

s = np.stack((a, b, c), axis=1)
print('axis = 1 \n ', s.shape, '\n', s)

即将每个矩阵的每一行进行堆叠,放在一个矩阵里(一行对应一个矩阵)就是下图的红色的放一起,绿色的放一起

numpy中stack的用法直观理解

5、axis=2

s = np.stack((a, b, c), axis=2)
print('axis = 2 \n ', s.shape, '\n', s)
即将每行的进行竖排,放在一个矩阵里(一行对应一个矩阵)

numpy中stack的用法直观理解

因为对于stack用法容易忘记,查阅官方文档理解又比较繁琐,故做此一目了然