>>> a=np.array([1,2])
>>> a
array([1, 2])
>>> a.reshape(1,-1)
array([[1, 2]])
>>> a.reshape(-1,1)
array([[1],
[2]])
reshape一般用法是改变数组维度,比如1*4维向量变成2*2维
这里reshape(1,-1)的作用是把一维向量变成二维数组;reshape(-1,1)也是变向量为数组,但是改变方式有区别。
>>> import numpy as np
>>> b = np.array([1, 2, 3, 4, 5, 6])
>>> c = b[np.newaxis,:] #也可以写作c = b[np.newaxis]
>>> b.shape
(6,)
>>> c.shape
(1, 6)
>>> c
array([[1, 2, 3, 4, 5, 6]])
>>> b
array([1, 2, 3, 4, 5, 6])
>>> d=b[:,np.newaxis]
>>> d.shape
(6, 1)
>>> d
array([[1],
[2],
[3],
[4],
[5],
[6]])
newaxis的作用是把1*n行向量变成1*n二维数组,区别在于对1*n行向量转置无变化,对1*n二维数组转置会变成n*1的数组。