按照圖一中aixs=0,對aixs=0上下對應的數據進行相加在學習numpy的時候,最難理解的就是軸的概念,我們知道座標系中有軸的概念,那麼兩個軸是否有關聯呢?爲了便於理解,特寫此博客進行梳理。
正文
首先數組的維數比較好理解,下面我們創建一個數組:
- import numpy as np
- # 創建一個三維數組
- 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到數組的維數(不包括維數)
- 軸的劃分是按照維數進行
- 相加時按照軸進行對象相加,但是不能跨越比當前軸低的軸
轉自:https://blog.csdn.net/weixin_40900921/article/details/90734020