ndarray的轉(zhuǎn)置(numpy.transpose()與A.T命令對比分析)
ndarray的轉(zhuǎn)置(transpose)
對于A是由np.ndarray表示的情況:
可以直接使用命令A.T。
也可以使用命令A.transpose()。
A.T 與 A.transpose()對比
結(jié)論
在默認(rèn)情況下,兩者效果相同,但transpose()可以指定交換的axis維度。
對于一維數(shù)組,兩者均不改變,返回原數(shù)組。
對于二維數(shù)組,默認(rèn)進(jìn)行標(biāo)準(zhǔn)的轉(zhuǎn)置操作。
對于多維數(shù)組A,A.shape為(a,b,c,d,...,n),則轉(zhuǎn)置后的shape為(n,...,d,c,b,a),即逆序。
對于.transpose(),可以指定轉(zhuǎn)置后的維度。
語法:A.transpose((axisOrder1,...,axisOrderN)),其效果等同于np.transpose(A,(axisOrder1,...,axisOrderN)),(axisOrder)中是想要得到的索引下標(biāo)順序。
效果詳見例子。
Example
二維默認(rèn)情況下:
A = np.array([[1,2],[3,4]]) print(A) print(A.T) print(A.transpose())
結(jié)果如下:

多維默認(rèn)情況下:
a = np.array([[[1,2,3,4],[4,5,6,7]],[[2,3,4,5],[5,6,7,8]],[[3,4,5,6],[4,5,6,7]]]) print(a.shape) print(a.T.shape) print(a.transpose().shape)
結(jié)果如下:

指定維度情況:
a = np.array([[[1,2,3,4],[4,5,6,7]],[[2,3,4,5],[5,6,7,8]],[[3,4,5,6],[4,5,6,7]]]) print(a.shape) print(a.transpose(1,2,0).shape) A = np.transpose(a,(1,2,0)) print(A.shape)
結(jié)果如下:

從截圖中可以看出,a.transpose(1,2,0)與np.transpose(a,(1,2,0))效果相同。
代碼段中給出的axes是(1,2,0),這決定了transpose后的數(shù)組,其shape在第一個維度即shape[0]上是原來的shape[1],第二維shape[1]是原來的shape[2],第三維shape[2]是原來的shape[0]。
所以原shape為(3,2,4)。新的shape為(2,4,3)。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python學(xué)習(xí)筆記之open()函數(shù)打開文件路徑報錯問題
這篇文章主要介紹了Python學(xué)習(xí)筆記之open()函數(shù)打開文件路徑報錯問題,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-04-04
Python字符串函數(shù)strip()原理及用法詳解
這篇文章主要介紹了Python字符串函數(shù)strip()原理及用法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-07-07
Python+pandas計算數(shù)據(jù)相關(guān)系數(shù)的實例
今天小編就為大家分享一篇Python+pandas計算數(shù)據(jù)相關(guān)系數(shù)的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-07-07
Python函數(shù)使用的相關(guān)練習(xí)題分享
這篇文章主要介紹了Python函數(shù)使用的相關(guān)練習(xí)題分享,文章基于python函數(shù)內(nèi)容展開其相關(guān)例題,具有一定的參考價值,需要的小伙伴可以參考一下2022-05-05

