import numpy as np
print(type(np.newaxis))
print(np.newaxis == None)
输出:
<class 'NoneType'>
True
从上面可以看出:np.newaxis 在使用和功能上等价于 None,其实就是 None 的一个别名。
x = np.arange(3)
print(x)
print(x[:, np.newaxis])
print(x[np.newaxis,:])
print(x.shape)
print(x[:, np.newaxis].shape)
print(x[np.newaxis,:].shape)
输出:
[0 1 2]
[[0]
[1]
[2]]
[[0 1 2]]
(3,)
(3, 1)
(1, 3)
可以看出np.newaxis分别是在行或列上增加维度,原来是(3,)的数组,在行上增加维度变成(1,3)的二维数组,在列上增加维度变为(3,1)的二维数组
当然使用None替换也能得到同样的结果
x = np.arange(3)
print(x)
print(x[:, None])
print(x[None,:])
print(x.shape)
print(x[:, None].shape)
print(x[None,:].shape)
输出
[0 1 2]
[[0]
[1]
[2]]
[[0 1 2]]
(3,)
(3, 1)
(1, 3)