日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python axis 0_Python之NumPy(axis=0/1/2...)的透彻理解

發布時間:2023/12/15 python 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python axis 0_Python之NumPy(axis=0/1/2...)的透彻理解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

https://blog.csdn.net/sky_kkk/article/details/79725646

numpy中axis取值的說明

首先對numpy中axis取值進行說明:一維數組時axis=0,二維數組時axis=0,1,維數越高,則axis可取的值越大,數組n維時,axis=0,1,…,n。為了方便下面的理解,我們這樣看待:在numpy中數組都有著[]標記,則axis=0對應著最外層的[],axis=1對應第二外層的[],以此類推,axis=n對應第n外層的[]。

下面開始從axis=0,axis=1這兩個例子開始,深入透徹的理解numpy中axis的用法。

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

a= np.array([1,2,3])

a.sum(axis = 0)

>>>6

123

因為只有一層[],所以直接對這一層里的最大單位快1,2,3做運算;

做完加法后本應是[6],但是移除最外層[]后,[]不存在了,所以返回的是6。

a= np.array([[1,2],[3,4]])

a.sum(axis = 0)

>>>array([4, 6])

123

有兩層[],最外層[]里的最大單位塊分別為[1,2],[3,4],對這兩個單位塊做塊與塊之間的運算,[1,2]+[3,4] = [4, 6];

做完加法后本應是[[4, 6]],但是移除最外層[]后,原來的兩層[]變成一層[],所以返回結果為 [4, 6]。

np.array([[[1,2],[3,4]],[[11,12],[13,14]]])

a.sum(axis = 0)

>>>array([[12, 14], [16, 18]])

123

有三層[],最外層[]里的最大單位塊分別為[[1,2],[3,4]],[[11,12],[13,14]],對這兩個單位塊做塊與塊之間的運算,[[1,2],[3,4]]? +? [[11,12],[13,14]]? = [[12, 14], [16, 18]];

做完加法后本應是[[[12, 14], [16, 18]]],但是移除最外層[]后,原來的三層[]變成兩層[],所以返回結果為[[12, 14], [16, 18]];

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

a= np.array([1,2,3])

a.sum(axis = 1)

>>>ValueError: 'axis' entry is out of bounds

123

因為只有一層[],axis取值只有一個,為0.

a= np.array([[1,2],[3,4]])

a.sum(axis = 1)

>>>array([3, 7])

123

有兩層[],第二外層[]里的最大單位塊有兩組(因為有兩個第二外層[]),第一組是1,2,第二組是3,4,分別對這兩個單位塊做塊與塊之間的運算,第一組結果為1+2=3,第二組結果為3+4=7;

做完加法后本應是[[3],[7]],但是**移除第二外層[]**后,原來的兩層[]變成一層[],所以返回結果為[3, 7]。

np.array([[[1,2],[3,4]],[[11,12],[13,14]]])

a.sum(axis = 1)

>>>array([[ 4,? 6], [24, 26]])

123

有三層[],第二外層[]里的最大單位塊有兩組(因為有兩個第二外層[]),第一組是[1,2],[3,4],第二組是[11,12],[13,14],分別對這兩個單位塊做塊與塊之間的運算,第一組結果為[1,2]+[3,4] = [ 4,? 6],第二組結果為[11,12]+[13,14] = [24, 26]

做完加法后本應是[[[ 4,? 6]], [[24, 26]]],但是**移除第二外層[]**后,原來的三層[]變成兩層[],所以返回結果為[[ 4,? 6], [24, 26]]

axis = 3,4,5也如此分析

看懂了這些說明,相信你對axis已經有了深入的理解,以后再也不用怕高維數組關于axis的運算了!

總結

以上是生活随笔為你收集整理的python axis 0_Python之NumPy(axis=0/1/2...)的透彻理解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。