【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),作為方法動作的副詞。
例程:
結果展示:
隨機生成[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的理解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【TensorFlow】占位符:tf.p
- 下一篇: 安踏超过阿迪达斯 净利润稳步增长已是行业