numpy新增新的維度:newaxis
阿新 • • 發佈:2019-01-02
numpy中包含的newaxis可以給原陣列增加一個維度
np.newaxis放的位置不同,產生的新陣列也不同
一維陣列
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
而把newaxis放後面的時候,輸出的新陣列的shape就是5
所以,newaxis放在第幾個位置,就會在shape裡面看到相應的位置增加了一個維數
如下:
一般問題
經常會遇到這樣的問題,需要從陣列中取出一部分的資料,也就是取出“一片”或者“一條”
比如需要從二維數組裡面抽取一列
取出來之後維度卻變成了一維
假如我們需要將其還原為二維,就需要上面的方法了