np.newaxis----增加矩阵维度
常用方法--将(10,)维度变为固定维度(10,1)的矩阵
x=np.linspace(-0.5,0.5,10)
print(x)
print(x.shape)
[-0.5 -0.38888889 -0.27777778 -0.16666667 -0.05555556 0.05555556 0.16666667 0.27777778 0.38888889 0.5 ] (10,)
p=x[:,np.newaxis]
print(p)
print(p.shape)
[[-0.5 ] [-0.38888889] [-0.27777778] [-0.16666667] [-0.05555556] [ 0.05555556] [ 0.16666667] [ 0.27777778] [ 0.38888889] [ 0.5 ]] (10, 1)
高维度
a=np.random.rand(4,4)
print(a)
[[ 0.61690279 0.13492536 0.77801097 0.27768464] [ 0.17720794 0.55726312 0.86292334 0.24805834] [ 0.29273676 0.97337849 0.0301729 0.89382466] [ 0.88650348 0.6262905 0.42488666 0.80979559]]
增加所有维度
d=a[:,np.newaxis]
print(d)
print(d.shape)
[[[ 0.61690279 0.13492536 0.77801097 0.27768464]] [[ 0.17720794 0.55726312 0.86292334 0.24805834]] [[ 0.29273676 0.97337849 0.0301729 0.89382466]] [[ 0.88650348 0.6262905 0.42488666 0.80979559]]] (4, 1, 4)
增加部分维度
b=a[:2,np.newaxis]
print(b)
print(b.shape)
[[[ 0.61690279 0.13492536 0.77801097 0.27768464]] [[ 0.17720794 0.55726312 0.86292334 0.24805834]]] (2, 1, 4)
c=a[:,:2,np.newaxis]
print(c)
print(c.shape)
[[[ 0.61690279] [ 0.13492536]] [[ 0.17720794] [ 0.55726312]] [[ 0.29273676] [ 0.97337849]] [[ 0.88650348] [ 0.6262905 ]]] (4, 2, 1)