numpy中的newaxis

>>> x=np.arange(3)
>>> x
array([0, 1, 2])
>>> x.shape
(3,)


>>> y=x[:,np.newaxis]
>>> y
array([[0],
       [1],
       [2]])
>>> y.shape
(3, 1)

总之就是,np.newaxis 或None如果放在行的位置就增加一行,如果放在列的位置就增加一列
这是因为
>>> type(np.newaxis)

>>> np.newaxis==None
True
所以他俩通用


np.newaxis的一个用途是拼接两列
>>> x
array([[ 1,  2,  3,  4],
       [ 5,  6,  7,  8],
       [ 9, 10, 11, 12]])
>>> x2=np.hstack([x[:,1][:,np.newaxis],x[:,3][:,np.newaxis]])
>>> x2
array([[ 2,  4],
       [ 6,  8],
       [10, 12]])

不过拼接,不一定有切片来的方便

>>> x[:,[1,3]]
array([[ 2,  4],
       [ 6,  8],
       [10, 12]])

建议平时用切片,如果想把一行一列放在一起,用np.newaxis
不同数组拼接用hstack,和他两个无关

----
列表,必须转化为numpy下的列表才能用numpy的函数处理
所以,注意用 a=np.array([1,2,3])
而不是 a=[1,2,3]


你可能感兴趣的:(numpy中的newaxis)