numpy之轉(zhuǎn)置(transpose)和軸對換

轉(zhuǎn)置(transpose)和軸對換

轉(zhuǎn)置可以對數(shù)組進(jìn)行重置驹暑,返回的是源數(shù)據(jù)的視圖(不會進(jìn)行任何復(fù)制操作)。

轉(zhuǎn)置有三種方式遵蚜,transpose方法呼盆、T屬性以及swapaxes方法。

1 .T,適用于一盾剩、二維數(shù)組

In [1]: import numpy as np

In [2]: arr = np.arange(20).reshape(4,5)#生成一個4行5列的數(shù)組

In [3]: arr
Out[3]:
array([[ 0,  1,  2,  3,  4],
       [ 5,  6,  7,  8,  9],
       [10, 11, 12, 13, 14],
       [15, 16, 17, 18, 19]])

In [4]: arr.T #求轉(zhuǎn)置
Out[4]:
array([[ 0,  5, 10, 15],
       [ 1,  6, 11, 16],
       [ 2,  7, 12, 17],
       [ 3,  8, 13, 18],
       [ 4,  9, 14, 19]])

2. 高維數(shù)組

對于高維數(shù)組雷激,transpose需要用到一個由軸編號組成的元組,才能進(jìn)行轉(zhuǎn)置告私。

這里屎暇,著實好好理解了一下。開始的時候怎么都想不明白驻粟。因為他跟矩陣轉(zhuǎn)置理解起來不太一樣根悼。

主要參考:
AbstractSky的博客
Albert Chen
經(jīng)管之家

對多維數(shù)組來說,確定最底層的一個基本元素位置需要用到的索引個數(shù)即是維度蜀撑。這句話的理解可以結(jié)合我索引和切片的那篇文章理解番挺。

我是這樣的理解的,比如說三維的數(shù)組屯掖,那就對維度進(jìn)行編號玄柏,也就是0,1,2。這樣說可能比較抽象贴铜。這里的0,1,2可以理解為對shape返回元組的索引粪摘。
比如:

In [59]: arr1 = np.arange(12).reshape(2,2,3)

In [60]: arr1
Out[60]:
array([[[ 0,  1,  2],
        [ 3,  4,  5]],

       [[ 6,  7,  8],
        [ 9, 10, 11]]])

In [61]: arr1.shape #看形狀
Out[61]: (2, 2, 3) #說明這是一個2*2*3的數(shù)組(矩陣),返回的是一個元組绍坝,可以對元組進(jìn)行索引徘意,也就是0,1,2
形狀 索引
2 0
2 1
3 2

所以說,transpose參數(shù)的真正意義在于這個shape元組的索引轩褐。

那么它的轉(zhuǎn)置就應(yīng)該是


In [62]: arr1.transpose((1,0,2))
Out[62]:
array([[[ 0,  1,  2],
        [ 6,  7,  8]],

       [[ 3,  4,  5],
        [ 9, 10, 11]]])

比如椎咧,數(shù)值6開始的索引是[1,0,0],變換后變成了[0,1,0]把介。
這也說明了勤讽,transpose依賴于shape

但是拗踢,對于為什么轉(zhuǎn)置最后一個索引是不動的脚牍,頗為不解。數(shù)組或者說矩陣的這塊有點太抽象了巢墅。雖然我線代成績不錯诸狭,但是這玩意不太一樣啊券膀。

3.swapaxes

雖然還有點不解的地方,但是驯遇,理解了上方那部分之后芹彬,swapaxes方法也就很好理解了。它接受一對軸編號叉庐。進(jìn)行軸對換雀监。其實也就是shape參數(shù)。

In [67]: arr2 = np.arange(16).reshape(2,2,4)           
                                                       
In [68]: arr2                                          
Out[68]:                                               
array([[[ 0,  1,  2,  3],                              
        [ 4,  5,  6,  7]],                             
                                                       
       [[ 8,  9, 10, 11],                              
        [12, 13, 14, 15]]])                            
                                                       
In [69]: arr2.shape                                    
Out[69]: (2, 2, 4)                                     
                                                       
In [70]: arr2.swapaxes(1,2)                            
Out[70]:                                               
array([[[ 0,  4],                                      
        [ 1,  5],                                      
        [ 2,  6],                                      
        [ 3,  7]],                                     
                                                       
       [[ 8, 12],                                      
        [ 9, 13],                                      
        [10, 14],                                      
        [11, 15]]])   

In [4]: arr2.swapaxes(1,0)#轉(zhuǎn)置眨唬,對比transpose(1,0,2)
Out[4]:
array([[[ 0,  1,  2,  3],
        [ 8,  9, 10, 11]],

       [[ 4,  5,  6,  7],
        [12, 13, 14, 15]]])                                 
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市好乐,隨后出現(xiàn)的幾起案子匾竿,更是在濱河造成了極大的恐慌,老刑警劉巖蔚万,帶你破解...
    沈念sama閱讀 218,451評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件岭妖,死亡現(xiàn)場離奇詭異,居然都是意外死亡反璃,警方通過查閱死者的電腦和手機昵慌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來淮蜈,“玉大人斋攀,你說我怎么就攤上這事∥嗵铮” “怎么了淳蔼?”我有些...
    開封第一講書人閱讀 164,782評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長裁眯。 經(jīng)常有香客問我鹉梨,道長,這世上最難降的妖魔是什么穿稳? 我笑而不...
    開封第一講書人閱讀 58,709評論 1 294
  • 正文 為了忘掉前任存皂,我火速辦了婚禮,結(jié)果婚禮上逢艘,老公的妹妹穿的比我還像新娘旦袋。我一直安慰自己,他們只是感情好它改,可當(dāng)我...
    茶點故事閱讀 67,733評論 6 392
  • 文/花漫 我一把揭開白布猜憎。 她就那樣靜靜地躺著,像睡著了一般搔课。 火紅的嫁衣襯著肌膚如雪胰柑。 梳的紋絲不亂的頭發(fā)上截亦,一...
    開封第一講書人閱讀 51,578評論 1 305
  • 那天,我揣著相機與錄音柬讨,去河邊找鬼崩瓤。 笑死,一個胖子當(dāng)著我的面吹牛踩官,可吹牛的內(nèi)容都是我干的却桶。 我是一名探鬼主播,決...
    沈念sama閱讀 40,320評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼蔗牡,長吁一口氣:“原來是場噩夢啊……” “哼颖系!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起辩越,我...
    開封第一講書人閱讀 39,241評論 0 276
  • 序言:老撾萬榮一對情侶失蹤嘁扼,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后黔攒,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體趁啸,經(jīng)...
    沈念sama閱讀 45,686評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,878評論 3 336
  • 正文 我和宋清朗相戀三年督惰,在試婚紗的時候發(fā)現(xiàn)自己被綠了不傅。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,992評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡赏胚,死狀恐怖访娶,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情觉阅,我是刑警寧澤震肮,帶...
    沈念sama閱讀 35,715評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站留拾,受9級特大地震影響戳晌,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜痴柔,卻給世界環(huán)境...
    茶點故事閱讀 41,336評論 3 330
  • 文/蒙蒙 一沦偎、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧咳蔚,春花似錦豪嚎、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至糯耍,卻和暖如春扔字,著一層夾襖步出監(jiān)牢的瞬間囊嘉,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評論 1 270
  • 我被黑心中介騙來泰國打工革为, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留扭粱,地道東北人。 一個月前我還...
    沈念sama閱讀 48,173評論 3 370
  • 正文 我出身青樓震檩,卻偏偏與公主長得像琢蛤,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子抛虏,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,947評論 2 355

推薦閱讀更多精彩內(nèi)容