關于numpy數組軸的使用詳解
概述
按照圖一中aixs=0,對aixs=0上下對應的數據進行相加在學習numpy的時候,最難理解的就是軸的概念,我們知道坐標系中有軸的概念,那么兩個軸是否有關聯(lián)呢?為了便于理解,特寫此博客進行梳理。
正文
首先數組的維數比較好理解,下面我們創(chuàng)建一個數組:
import numpy as np # 創(chuàng)建一個三維數組 b=np.arange(24).reshape(4,3,2)
打印結果:
[[[ 0 1] [ 2 3] [ 4 5]] [[ 6 7] [ 8 9] [10 11]] [[12 13] [14 15] [16 17]]
b 是一個三維數組:
第一維有三個元素
第二維有三個元素
第三維有四個元素
上面的數據也可以用下列方式展示(圖一)
對于下面按照aixs=0進行sum:
print(b.sum(0))
按照圖一中aixs=0,對aixs=0上下對應的數據進行相加,數據從(4,3,2)降維到(3,2)
[[0+ 6+12+18=36 1+ 7+13+19=40] [2+ 8+14+20=44 3+ 9+15+21=48] [4+10+16+22=52 5+11+17+23=56]]
對于下面按照aixs=1進行sum:
print(b.sum(1))
按照圖一中aixs=1,按照比1小的軸對數據進行劃分(即aixs=0),然后對劃分的每一部分中數據中的aixs=1上下對應的數據進行相加,數據從(4,3,2)降維到(4,2)
[[ 0+ 2+ 4=6 1+ 3+ 5=9] [ 6+ 8+10=24 7+ 9+11=27] [12+14+16=42 13+15+17=45] [18+20+22=60 19+21+23+63]]
對于下面按照aixs=2進行sum:
print(b.sum(2))
按照圖一中aixs=2,按照比2小的軸對數據進行劃分(即aixs=0,aixs=1),然后對劃分的每一部分中數據中的aixs=2上下對應的數據進行相加,數據從(4,3,2)降維到(4,3)
[[ 0+ 1=1 2+ 3=5 4+ 5=9] [ 6+ 7=13 8+ 9=17 10+11=21] [12+13=25 14+15=29 16+17=33] [18+19=37 20+21=41 22+23=45]]
總結:
aixs的范圍是0到數組的維數(不包括維數)
軸的劃分是按照維數進行
相加時按照軸進行對象相加,但是不能跨越比當前軸低的軸
以上這篇關于numpy數組軸的使用詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
python 使用遞歸實現(xiàn)打印一個數字的每一位示例
今天小編就為大家分享一篇python 使用遞歸實現(xiàn)打印一個數字的每一位示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02Python 在OpenCV里實現(xiàn)仿射變換—坐標變換效果
這篇文章主要介紹了Python 在OpenCV里實現(xiàn)仿射變換—坐標變換效果,本文通過一個例子給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-08-08詳解Django中views數據查詢使用locals()函數進行優(yōu)化
這篇文章主要介紹了Django中views數據查詢使用locals()函數進行優(yōu)化,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-08-08