NumPy---axis=0/1

axis = 0

axis = 0表示對最外層[]裏的最大單位塊做塊與塊之間的運算,同時移除最外層[]:
示例1:

a= np.array([1,2,3])    
print(a.sum(axis = 0)) #最外層[]裏最大單位塊爲1,2,3,求其和1+2+3=6,再去掉最外層[]
print(a.mean(axis = 0)) #最外層[]裏最大單位塊爲1,2,3,求其均值1/3*(1+2+3)=2,再去掉最外層[]

6
2.0

示例2:

a= np.array([[1,2],[3,4]])  
print(a.sum(axis = 0)) #最外層[]裏最大單位塊爲[1,2],[3,4],求其和[1,2]+[3,4]=[4,6],再去掉最外層[]
print(a.mean(axis = 0)) #最外層[]裏最大單位塊爲[1,2],[3,4],求其和1/2*([1,2]+[3,4])=[2,3],再去掉最外層[]

[4 6]
[2. 3.]

示例3:

a= np.array([[[1,2],[3,4]],[[2,3],[3,4]]]) 
print(a.sum(axis = 0)) #最外層[]裏最大單位塊爲[[1,2],[3,4]],[[2,3],[3,4]]求其和[[1,2],[3,4]]+[[2,3],[3,4]]=[[3 5] [6 8]],再去掉最外層[]
print(a.mean(axis = 0))

[[3 5]
 [6 8]]
[[1.5 2.5]
 [3.  4. ]]

axis = 1

axis= 1表示對第二外層[]裏的最大單位塊做塊與塊之間的運算,同時移除第二外層[]:
一維數組只有axis = 0
示例1:

a= np.array([[1,2],[3,4]])  
print(a.sum(axis = 1))  #第二層[]裏最大單位塊有兩組,1,2和3,4,計算的[[3],[7]],再去掉第二層[]
print(a.mean(axis = 1))

[3 7]
[1.5 3.5]

示例2:

a = np.array([[[1,2],[3,4]],[[5,5],[6,6]]])#[[1,2],[3,4]]和[[5,5],[6,6]],每塊之間進行運算
a.sum(axis = 1)

array([[ 4,  6],
       [11, 11]])
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章