【numpy】中,对axis【轴】axis=0 axis=1的理解
版權(quán)聲明:下文一部分為CSDN博主「賈辛洪」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/jiaxinhong/article/details/81772392
首先請(qǐng)看一下官方幫助的解釋:
軸用來(lái)為超過(guò)一維的數(shù)組定義的屬性,二維數(shù)據(jù)擁有兩個(gè)軸:
- 第0軸,沿著行的方向,垂直往下,
- 第1軸,沿著列的方向,水平延伸。
注意看,官方對(duì)于0和1的解釋是軸,也就是坐標(biāo)軸。而坐標(biāo)軸是有方向的,所以千萬(wàn)不要用行和列的思維去想axis,因?yàn)樾泻土惺菦](méi)有方向的,這樣想會(huì)在遇到不同的例子時(shí)感到困惑。
根據(jù)官方的說(shuō)法,1表示橫軸,方向從左到右;0表示縱軸,方向從上到下。
當(dāng)axis=1時(shí),數(shù)組的變化是橫向的,而體現(xiàn)出來(lái)的是列的增加或者減少。
其實(shí)axis的重點(diǎn)在于方向,而不是行和列。具體到各種用法而言也是如此。當(dāng)axis=1時(shí),如果是求平均,那么是從左到右橫向求平均;如果是拼接,那么也是左右橫向拼接;如果是drop,那么也是橫向發(fā)生變化,體現(xiàn)為列的減少。
當(dāng)考慮了方向,即axis=1為橫向,axis=0為縱向,而不是行和列,那么所有的例子就都統(tǒng)一了。
轉(zhuǎn)載內(nèi)容到此為止
簡(jiǎn)單的來(lái)記就是:
axis=0代表往跨行(down),而axis=1代表跨列(across),作為方法動(dòng)作的副詞。
例程:
結(jié)果展示:
隨機(jī)生成[0,5)范圍內(nèi)的,shape為3*3*4的數(shù)組(張量) [[[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軸方向時(shí),x張量的最大值 [[2 4 2 3][4 3 4 4][4 3 3 4]] axis=1,沿著選定1軸方向時(shí),x張量的最大值 [[3 4 3 1][4 3 2 4][4 4 4 4]] axis=2,沿著選定2軸方向時(shí),x張量的最大值 [[4 3 1][3 4 4][4 4 4]]補(bǔ)充:
如果一個(gè)多維數(shù)組是3 *3 *4,他就是3維的,參數(shù)axis=0,指的就是第一維,即3那一個(gè)數(shù)軸;axis=1,即第二個(gè)3的那個(gè)數(shù)軸,axis=2,即最后4的那個(gè)數(shù)軸。
所以輸出結(jié)果的張量形狀,取決于剩余兩個(gè)的大小:選擇沿著第一維度的方向,則輸出為3* 4的形狀,同理可得其他結(jié)果的形狀。
總結(jié)
以上是生活随笔為你收集整理的【numpy】中,对axis【轴】axis=0 axis=1的理解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【TensorFlow】占位符:tf.p
- 下一篇: 安踏超过阿迪达斯 净利润稳步增长已是行业