numpy.newaxis
None的别名,对索引数组很有用。
import numpy as np
np.newaxis is None
# 返回:True
x = np.arange(3)
# array([0, 1, 2]) 一维数组,行向量
x.shape
# (3,)
x1 = x[:,np.newaxis] # 相当于多增加一个维度
# array([[0], 二维数组,此处表现为列向量
# [1],
# [2]])
x1.shape
# (3,1)
x2 = x[:,np.newaxis,np.newaxis] # 增加两个维度
#array([[[0]],
# [[1]],
# [[2]]])
x2.shape
# (3, 1, 1)
y = np.array([[1,2,3],[4,5,6],[7,8,9]])
# array([[1, 2, 3],
# [4, 5, 6],
# [7, 8, 9]])
y[:,1]
# array([2, 5, 8])
y[:,1][:,np.newaxis] # 或者 y[:,np.newaxis,1] 两者等价
# array([[2],
# [5],
# [8]])
y[:,1:3][:,np.newaxis]
# array([[[2, 3]],
# [[5, 6]],
# [[8, 9]]])
参考:https://docs.scipy.org/doc/numpy/reference/constants.html#numpy.newaxis