numpy数组中冒号[:,:,0]与[...,0]的区别
先隨機產生一個[3,4,5]的numpy數組。則該x維度是3,shape是(3,4,5),總共包含60個元素。
x[:,:,0] 意思是對數組x切片,可以想象成一個正方體數據,每次切下一個面的數據。第二維取0則得出來[3,4]大小的數組,即
?可以驗證:
那么[...,0]代表了什么?
首先...只能出現一次,就是說你可以,[ : , : , : ],但是[ ... , ...]就會報錯。
使用了 ... 之后,數字0不再是元素的index 了 , 而是 軸(axis)。下面通過numpy.amax()(選出軸最大的元素)來具體說明。
?x大小為(3,4,5)
首先看axis=2,第一個數字189是從x[ ][ ] [0] 到 x[ ][ ] [4] 比較而得,因此一共有3*4=12元素
axis=1,第一個數字99是從x[ ][0] [ ] 到 x[ ][3] [ ] 比較而得,因此一共有3*5=15元素
同理,axis=0,第二個數字189是從x[0] [ ] [ ] 到 x[2] [ ] [ ] 比較而得,因此一共有4*5=20元素
axis=0時 比較的示意圖:
最直觀的:函數所選的axis的值,就表明 x[ ][ ][ ] 的第幾個方塊號,從0開始,代表第一個[ ],即x[ ] [ ] [ ],所以維度與axis的對應關系為,對于維度為(3,4,5)的數組,axis=0 長度為3,axis=1長度為4,axis=2長度為5。
則[...,0]表示,與[:,:,0]等價:
同時,還可以這樣用。
總結
以上是生活随笔為你收集整理的numpy数组中冒号[:,:,0]与[...,0]的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ERROR 2002 (HY000):
- 下一篇: 福州大学c语言考试答案,C语言练习模拟考