以前我理解axis=0代表行,axis=1代表列;
但是這種含義在函式size()和max()中恰恰相反;
其實不是這樣的,我們回到單詞axis本身,它的意思是「軸」,沒錯軸就是代表乙個方向,像x軸,y軸,如圖所示:
axis=0代表的就是x軸方向;
axis=1代表的就是y軸方向;
這樣函式size()和max()就能解釋得通了:
import numpy as np
a = np.array([[
1,2,
3],[
4,5,
6]])
# axis=0,返回x軸方向上元素的個數
np.size(a, axis=0)
>>
>
2# axis=1,返回y軸方向上元素的個數
np.size(a, axis=1)
>>
>
3# axis=0,返回x軸方向上元素的最大值
np.max
(a, axis=0)
>>
> array([4
,5,6
])# axis=1,返回y軸方向上元素的最大值
np.max
(a, axis=1)
>>
> array([3
,6])
matlab中也是一樣的道理,很多函式都與matlab中一樣,也有不同,比如:
matlab中reshape()是按列讀按列寫;
python中reshape()預設是按行讀按行寫;
使用時需要留心!
理解numpy中的axis
對於m個元素一維陣列a,因為只有乙個軸,所以axis只能為0,和預設值效果相同,觀察的是0軸上0,1,i,m點對應的元素。產生的新集合就乙個元素。舉例 對於mxn的二維陣列 a,axis可以取值0或1。axis 0 相當於平面座標的y軸,變化的是 行 即觀察每一列不同行的元素。產生的新集合,其元素的...
numpy中axis的通俗理解
numpy中的axis與shape有關,shape為乙個tuple,這個tuple的index即為所在的axis。例如乙個ndarray形狀為 4,3,2 則4對應的axis為0,3對應的axis為1,2對應的axis為2。import numpy as np x np.arange 24 resh...
numpy中的axis(軸的理解)
沿著axis指定的軸進行相應的函式操作。如果不知道axis,則把結構體展開成一維,然後再開始計算 import numpy as np print array x x 1,2,3 5,1,2 x np.array x print x print shape x print x.shape print...