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)

猜你喜欢

转载自www.cnblogs.com/xianhan/p/9123145.html