【python】np.newaxis 为 numpy.ndarray(多维数组)增加一个轴

本文参考:Inside_Zhang大神的精彩分享,可点击去原帖围观。

- None Type Object

np.newaxis?
Type:        NoneType
String form: None
Docstring:   <no docstring>

np.newaxis == None
Out[8]: True

np.newaxis 在使用和功能上等价于 None,其实就是 None 的一个别名。

- np.newaxis 增加一个维度

bb = np.arange(4)

bb
Out[10]: array([0, 1, 2, 3])

bb[:,None]
Out[12]: 
array([[0],
       [1],
       [2],
       [3]])

bb[:,np.newaxis]
Out[13]: 
array([[0],
       [1],
       [2],
       [3]])

bb[:,np.newaxis].shape
Out[14]: (4, 1)

- 索引多维数组的某一列时返回的是一个行向量

进一步加工返回的行向量

X = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])

X
Out[16]: 
array([[ 1,  2,  3,  4],
       [ 5,  6,  7,  8],
       [ 9, 10, 11, 12]])

X[:,-1]
Out[17]: array([ 4,  8, 12])

X[:,-1][:,np.newaxis]
Out[18]: 
array([[ 4],
       [ 8],
       [12]])

亦或使用reshape

X[:,-1].reshape(-1,1)
Out[20]: 
array([[ 4],
       [ 8],
       [12]])

- [,-1,np.newaxis]置于里面与[:,-1][:,np.newaxis] 效果一样

X
Out[21]: 
array([[ 1,  2,  3,  4],
       [ 5,  6,  7,  8],
       [ 9, 10, 11, 12]])

X[:,-1,np.newaxis]
Out[22]: 
array([[ 4],
       [ 8],
       [12]])


X[:,-1][:,np.newaxis]
Out[24]: 
array([[ 4],
       [ 8],
       [12]])

猜你喜欢

转载自blog.csdn.net/brucewong0516/article/details/79980478