numpy添加新的維度


原文鏈接: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
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM