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)即下面的形式
下面分別以不同的形式輸出:
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用法容易忘記,查閱官方文件理解又比較繁瑣,故做此一目瞭然