看见过很多次了,一直没弄懂,今天研究了一下。
参考源:
https://blog.youkuaiyun.com/csdn15698845876/article/details/73380803
https://blog.youkuaiyun.com/ygys1234/article/details/79872694
注:矩阵基础,[1,2,3]是行1列3,即(1,3),[[1],[2],[3]]是行3列1,即(3,1)
顺便一提,a.reshape(3,4)改为3行4列,a.reshape(1,-1)改为1行,(-1,1)改为1列,因为-1代表最大。
hstack(Horizontal)合并,实现了轴1合并。
import numpy as np
a=[1,2,3] #(1,3)
b=[4,5,6] #(1,3)
print(np.hstack((a,b)))
输出:[1 2 3 4 5 6 ] (1,6)
hstack都加在列方向的(第二个值),因此相加变为(1,6)
import numpy as np
a=[[1],[2],[3]] #(3,1)
b=[[1],[2],[3]]
c=[[1],[2],[3]]
d=[[1],[2],[3]]
print(np.hstack((a,b,c,d)))
输出:
[[1 1 1 1]
[2 2 2 2]
[3 3 3 3]]
(3,4),即连接4个[[1],
[2],
[3]]
vstack(Vertical)则是行相加,对着第一个值相加,也就是实现了轴0相加。
dstack(Deep)实现轴2相加。