numpy中transpose和swapaxes函數講解


1 transpose()
這個函數如果括號內不帶參數,就相當於轉置,和.T效果一樣,而今天主要來講解其帶參數。 我們看如下一個numpy的數組: 

arr=np.arange(16).reshape((2,2,4)) arr= array([[[ 0, 1, 2, 3], [ 4, 5, 6, 7]], [[ 8, 9, 10, 11], [12, 13, 14, 15]]])

那么有:

arr.transpose(2,1,0) array([[[ 0, 8], [ 4, 12]], [[ 1,  9], [ 5, 13]], [[ 2, 10], [ 6, 14]], [[ 3, 11], [ 7, 15]]])

為什么會是這樣的結果呢?對於transpose(2,1,0),就是把之前的維度調序,即:第三個維度轉為第一個維度,之前的第二個維度不變,之前的第一個維度變為第三個維度。 

2 swapaxes()
理解了上面,再來理解swapaxes()就很簡單了,swapaxes接受一對軸編號,其實這里我們叫一對維度編號更好吧,比如:

arr.swapaxes(2,1)  #就是將第三個維度和第二個維度交換
array([[[ 0,  4], [ 1,  5], [ 2,  6], [ 3,  7]], [[ 8, 12], [ 9, 13], [10, 14], [11, 15]]])

注:今天讀代碼的時候,碰到了swapaxes函數,然后這篇文章不錯,我就摘錄了過來,只是為了以后方便查閱!!!


免責聲明!

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



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