个人感觉这个stack方法很难理解,故此在网上摘抄了别人的理解在下面,以备下次复习
原文链接:https://blog.csdn.net/Riverhope/article/details/78922006
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)
即将每行进行竖排,放在一个矩阵里(一行对应一个矩阵)