由於numpy經常用於處理多維陣列,我們常理解的行和列一般指二維陣列,但對於計算機來說,它只認識下標
一維陣列如a[3]只有乙個下標,axis=0對應陣列的列標, 使用axis=1會報錯.
對於二維陣列b[2][2],axis=0對應陣列的行標,axis=0對應陣列的行標.
對於三維陣列則分別對應頁列行.
對應**分析如下:
import numpy as np
a = np.arange(14,
2,-1
)b = np.arange(14,
2,-1
).reshape((3
,4))
其中a為一維陣列,b為二維陣列,內容如下:
a
array([14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3])
b
array([[14, 13, 12, 11],
[10, 9, 8, 7],
[ 6, 5, 4, 3]])
a.min(axis=0)
a對應axis=0這一行的最小值
b.
min(axis=
0)
array([6, 5, 4, 3])
b對應axis=0的最小值為每一列的最小值
b.
min(axis=
1)
array([11, 7, 3])
b對應axis=1的最小值為每行的最小值
就是一句話:
axis等於幾, 就從陣列的第幾個下標變化的方向移動(從零開始計數)下面有兩張圖,一看便知:
圖一是求a.min(axis=0), 我們可以看到, numpy沿著行變列不變的方向移動,最終求出了陣列每一列的最小值
圖二是求a.min(axis=1), 我們可以看到, numpy沿著列變行不變的方向移動,最終求出了陣列每一行的最小值
關於numpy中axis 0和axis的區別的問題
很多人在學習numpy時,遇到axis 0和axis 1的問題,究竟是如何定義的 如一下列子 import numpy as np ww np.arange 10 reshape 2,5 print ww 結果 array 0,1,2,3,4 5,6,7,8,9 ww.mean axis 0 沿著縱...
numpy中sum 中axis引數的問題
在選定特定的軸後,sum得到的值維度降低一維 axis的值是shape返回元組的索引,比如axis 0 是 最高維度 最外層括號 axis 1 是第二層括號 axis n是最內層括號 axis 1 sum axis n 表示以第n維為主元 以二陣列為例 a np.array 1,2,3,4 5,6,...
理解numpy中的axis
對於m個元素一維陣列a,因為只有乙個軸,所以axis只能為0,和預設值效果相同,觀察的是0軸上0,1,i,m點對應的元素。產生的新集合就乙個元素。舉例 對於mxn的二維陣列 a,axis可以取值0或1。axis 0 相當於平面座標的y軸,變化的是 行 即觀察每一列不同行的元素。產生的新集合,其元素的...