首先生成一些数,
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)即下面的形式
下面分别以不同的形式输出:
1、vstack
s = np.vstack((a, b, c)) print('vstack \n ', s.shape, '\n', s)在竖直方向上进行堆叠,得到6×3的矩阵
2、hstack
s = np.hstack((a, b, c)) print('hstack \n ', s.shape, '\n', s)在水平方向上进行堆叠
3、axis=0
s = np.stack((a, b, c), axis=0) print('axis = 0 \n ', s.shape, '\n', s)
就是下面的形式
具体为3组2×3矩阵
4、axis=1
s = np.stack((a, b, c), axis=1) print('axis = 1 \n ', s.shape, '\n', s)
即将每个矩阵的每一行进行堆叠,放在一个矩阵里(一行对应一个矩阵)就是下图的红色的放一起,绿色的放一起
5、axis=2
s = np.stack((a, b, c), axis=2) print('axis = 2 \n ', s.shape, '\n', s)即将每行的进行竖排,放在一个矩阵里(一行对应一个矩阵)
因为对于stack用法容易忘记,查阅官方文档理解又比较繁琐,故做此一目了然