Python:numpy.newaxis

 

x1[:,np.newaxis]:增维,转置

从字面上是插入新的维度的意思

demo1: 针对一维的情况

>>> b = np.array([1, 2, 3, 4, 5, 6])
>>> b[np.newaxis]
array([[1, 2, 3, 4, 5, 6]])
>>> c = b[np.newaxis]  #equals c = b[np.newaxis,:]
>>> b.shape
(6,)
>>> c.shape
(1, 6)
#看一下转置的时候有什么区别
>>> np.transpose(b)
array([1, 2, 3, 4, 5, 6])
>>> np.transpose(c)
array([[1],
       [2],
       [3],
       [4],
       [5],
       [6]])

#可以看出在矩阵运算的时候还是需要新的维度来规范计算的

对于这个问题还有一种方法,偶然看sidekit源码发现的;

>>> a = np.array([1,2,3])
>>> a
array([1, 2, 3])
>>> b = a[None]
>>> b
array([[1, 2, 3]])
>>> a.shape
(3,)
>>> b.shape
(1, 3)
原文地址:https://www.cnblogs.com/xianhan/p/9123145.html