np.newaxis将会额外生成一个维度。
原数组:
>>>arr = np.array([1,2,3,4,5])
%array([1, 2, 3, 4, 5])
使用newaxis后:
>>>arr[np.newaxis,:]
%array([[1, 2, 3, 4, 5]]) <-多了一个维度
>>>arr[:,np.newaxis]
#array([[1],
[2],
[3],
[4],
[5]])
# 更像是转置
额外的资料显示用法:
>>> X = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])
>>> X[:, 1]
array([2, 6, 10]) % 这里是一个行
>>> X[:, 1].shape % X[:, 1] 的用法完全等同于一个行,而不是一个列,
(3, )
>>>X[:, 1][:, np.newaxis]
array([[2],
[6],
[10]])
% 实现第二列和第四列的拼接(层叠):
>>>X_sub = np.hstack([X[:, 1][:, np.newaxis], X[:, 3][:, np.newaxis]])
% hstack:horizontal stack,水平方向上的层叠
>>>X_sub
array([[2, 4]
[6, 8]
[10, 12]])