Python科学计算库Numpy里reshape&newaxis用法

>>> 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的数组。

你可能感兴趣的:(Python)