關於Python中axis=0/1行列的理解,以及多維情況的處理


二維 axis=0/1

我們在用numpy的函數時,常常要指定axis等於多少,最常見的是要指定axis=0還是1,那么axis=0/1代表什么意思呢?Numpy庫有關於軸的解釋:軸用來為超過一維的數組定義的屬性,二維數據擁有兩個軸:第0軸沿着行的垂直往下,第1軸沿着列的方向水平延伸。換句話說,第0軸是縱軸,代表往跨行(down),而第1軸是橫軸,代表跨列(across)。我們也可以理解為,axis=0表示從上往下這個方向,axis=1表示從左到右這個方向,如下圖所示:

同樣地,在用pytorch的函數時,我們常常要指定dim等於多少,其含義和numpy中的axis相同。下面是numpy和PyTorch的一些例子。最后是關於多維數據情況下,如何設置axis值。

np.max()

np.sum()

np.concatenate()

torch.max()

torch.cat()

多維數據時axis的值該設置為多少

其實,更普適的規律是,我想對第i軸(或維)進行操作,我就設置axis=i,這也是處理多維數據時設置axis的思路。例如我想求第二維的最大值:

 

參考資料:

python數據分析里axis=0/1 行列定義為什么每次都不同?

numpy模塊之axis


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM