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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【numpy】中,对axis【轴】axis=0 axis=1的理解

發布時間:2024/9/27 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【numpy】中,对axis【轴】axis=0 axis=1的理解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

版權聲明:下文一部分為CSDN博主「賈辛洪」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/jiaxinhong/article/details/81772392

首先請看一下官方幫助的解釋:

軸用來為超過一維的數組定義的屬性,二維數據擁有兩個軸:
- 第0軸,沿著行的方向,垂直往下,
- 第1軸,沿著列的方向,水平延伸。

注意看,官方對于0和1的解釋是軸,也就是坐標軸。而坐標軸是有方向的,所以千萬不要用行和列的思維去想axis,因為行和列是沒有方向的,這樣想會在遇到不同的例子時感到困惑。

根據官方的說法,1表示橫軸,方向從左到右;0表示縱軸,方向從上到下
當axis=1時,數組的變化是橫向的,而體現出來的是列的增加或者減少。

其實axis的重點在于方向,而不是行和列。具體到各種用法而言也是如此。當axis=1時,如果是求平均,那么是從左到右橫向求平均;如果是拼接,那么也是左右橫向拼接;如果是drop,那么也是橫向發生變化,體現為列的減少。

當考慮了方向,即axis=1為橫向,axis=0為縱向,而不是行和列,那么所有的例子就都統一了。

轉載內容到此為止

簡單的來記就是:

axis=0代表往跨行(down),而axis=1代表跨列(across),作為方法動作的副詞。

例程:

import numpy as npnp.random.seed(123)#隨機種子,功能是保證每次隨機的都為定值,更換數值則可得其他種子 x=np.random.randint(0,5,[3,3,4]) print ("隨機生成[0,5)范圍內的,shape為3*3*4的數組(張量)") print (x) print ("axis=0,沿著選定0軸方向時,x張量的最大值") print (x.max(axis=0)) print ("axis=1,沿著選定1軸方向時,x張量的最大值") print (x.max(axis=1)) print ("axis=2,沿著選定2軸方向時,x張量的最大值") print (x.max(axis=2))

結果展示

隨機生成[0,5)范圍內的,shape為3*3*4的數組(張量) [[[2 4 2 1][3 2 3 1][1 0 1 1]][[0 0 1 3][4 0 0 4][1 3 2 4]][[2 4 0 0][1 3 4 4][4 1 3 2]]] axis=0,沿著選定0軸方向時,x張量的最大值 [[2 4 2 3][4 3 4 4][4 3 3 4]] axis=1,沿著選定1軸方向時,x張量的最大值 [[3 4 3 1][4 3 2 4][4 4 4 4]] axis=2,沿著選定2軸方向時,x張量的最大值 [[4 3 1][3 4 4][4 4 4]]

補充
如果一個多維數組是3 *3 *4,他就是3維的,參數axis=0,指的就是第一維,即3那一個數軸;axis=1,即第二個3的那個數軸,axis=2,即最后4的那個數軸。

所以輸出結果的張量形狀,取決于剩余兩個的大小:選擇沿著第一維度的方向,則輸出為3* 4的形狀,同理可得其他結果的形狀。

總結

以上是生活随笔為你收集整理的【numpy】中,对axis【轴】axis=0 axis=1的理解的全部內容,希望文章能夠幫你解決所遇到的問題。

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