原文鏈接:https://blog.csdn.net/xtingjie/article/details/72510834
numpy中包含的newaxis可以給原數組增加一個維度
np.newaxis放的位置不同,產生的新數組也不同
一維數組
1 x = np.random.randint(1, 8, size=5) 2 3 x 4 Out[48]: array([4, 6, 6, 6, 5]) 5 6 x1 = x[np.newaxis, :] 7 8 x1 9 Out[50]: array([[4, 6, 6, 6, 5]]) 10 11 x2 = x[:, np.newaxis] 12 13 x2 14 Out[52]: 15 array([[4], 16 [6], 17 [6], 18 [6], 19 [5]])
由以上代碼可以看出,當把newaxis放在前面的時候
以前的shape是5,現在變成了1××5,也就是前面的維數發生了變化,后面的維數發生了變化
而把newaxis放后面的時候,輸出的新數組的shape就是5××1,也就是后面增加了一個維數
所以,newaxis放在第幾個位置,就會在shape里面看到相應的位置增加了一個維數
如下:
一般問題
經常會遇到這樣的問題,需要從數組中取出一部分的數據,也就是取出“一片”或者“一條”
比如需要從二維數組里面抽取一列
取出來之后維度卻變成了一維
假如我們需要將其還原為二維,就需要上面的方法了
---------------------
作者:xtingjie
來源:CSDN
原文:https://blog.csdn.net/xtingjie/article/details/72510834
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!