1 np.newaxis
np.newaxis的作用是:在当前位置,插入一个新维度。np.newaxis 在使用和功能上等价于 None,其实就是 None 的一个别名。
1.1 一维数组
import numpy as np
a = np.arange(5) # a.shape=(5,)
b = a[np.newaxis, :] # b.shape=(1,5)
c = a[:,np.newaxis] # c.shape=(5,1)
d = a[:,np.newaxis,np.newaxis] # d.shape=(5,1,1)
e = a[np.newaxis, np.newaxis, :] # e.shape=(1,1,5)
print('a = ',a)
print('b = ',b)
print('c = ',c)
print('d = ',d)
print('e = ',e)
输出:
a = [0 1 2 3 4]
b = [[0 1 2 3 4]]
c = [[0][1][2][3][4]]
d = [[[0]][[1]][[2]][[3]][[4]]]
e = [[[0 1 2 3 4]]]
1.2 二维数组
import numpy as np
a = np.arange(6).reshape(2, 3) # a.shape=(2,3)
b = a[:, np.newaxis] # b.shape=(2,1,3)
c = a[:, np.newaxis, :] # c.shape=(2,1,3)
d = a[..., np.newaxis] # d.shape=(2,3,1)
e = a[np.newaxis, ...] # e.shape=(1,2,3)
print('a = ', a)
print('b = ', b)
print('c = ', c)
print('d = ', d)
print('e = ', e)
输出:
a = [[0 1 2]
[3 4 5]]
b = [[[0 1 2]]
[[3 4 5]]]
c = [[[0 1 2]]
[[3 4 5]]]
d = [[[0]
[1]
[2]]
[[3]
[4]
[5]]]
e = [[[0 1 2]
[3 4 5]]]
参考: