np.newaxis放的位置不同,产生的新数组也不同
一维数组
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
x = np.random.randint( 1 , 8 , size = 5 ) x Out[ 48 ]: array([ 4 , 6 , 6 , 6 , 5 ]) x1 = x[np.newaxis, :] x1 Out[ 50 ]: array([[ 4 , 6 , 6 , 6 , 5 ]]) x2 = x[:, np.newaxis] x2 Out[ 52 ]: array([[ 4 ], [ 6 ], [ 6 ], [ 6 ], [ 5 ]]) |
由以上代码可以看出,当把newaxis放在前面的时候
以前的shape是5,现在变成了1××5,也就是前面的维数发生了变化,后面的维数发生了变化
而把newaxis放后面的时候,输出的新数组的shape就是5××1,也就是后面增加了一个维数
所以,newaxis放在第几个位置,就会在shape里面看到相应的位置增加了一个维数
如下:
一般问题
经常会遇到这样的问题,需要从数组中取出一部分的数据,也就是取出“一片”或者“一条”
比如需要从二维数组里面抽取一列
取出来之后维度却变成了一维
假如我们需要将其还原为二维,就需要上面的方法了
以上这篇numpy添加新的维度:newaxis的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/xtingjie/article/details/72510834