Numpy中axis我的理解

2021-09-27 13:26:32 字數 1229 閱讀 1964

以前我理解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中一樣,也有不同,比如:

matlabreshape()是按列讀按列寫;

pythonreshape()預設是按行讀按行寫;

使用時需要留心!

理解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...