国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Python > 正文

Numpy中轉(zhuǎn)置transpose、T和swapaxes的實(shí)例講解

2020-02-22 23:41:55
字體:
供稿:網(wǎng)友

利用Python進(jìn)行數(shù)據(jù)分析時(shí),Numpy是最常用的庫(kù),經(jīng)常用來對(duì)數(shù)組、矩陣等進(jìn)行轉(zhuǎn)置等,有時(shí)候用來做數(shù)據(jù)的存儲(chǔ)。

在numpy中,轉(zhuǎn)置transpose和軸對(duì)換是很基本的操作,下面分別詳細(xì)講述一下,以免自己忘記。

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

如上圖所示,將0-15放在一個(gè)2 2 4 的矩陣當(dāng)中,得到結(jié)果如上。

現(xiàn)在要進(jìn)行裝置transpose操作,比如

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

結(jié)果是如何得到的呢?

每一個(gè)元素都分析一下,0位置在[0,0,0],轉(zhuǎn)置為[1,0,2],相當(dāng)于把原來位置在[0,1,2]的轉(zhuǎn)置到[1,0,2],對(duì)0來說,位置轉(zhuǎn)置后為[0,0,0],同理,對(duì)1 [0,0,1]來說,轉(zhuǎn)置后為[0,0,1],同理我們寫出所有如下:

其中第一列是值,第二列是轉(zhuǎn)置前位置,第三列是轉(zhuǎn)置后,看到轉(zhuǎn)置后位置,再看如上的結(jié)果,是不是就豁然開朗了?

0 [0,0,0] [0,0,0]1 [0,0,1] [0,0,1]2 [0,0,2] [0,0,2]3 [0,0,3] [0,0,3]4 [0,1,0] [1,0,0]5 [0,1,1] [1,0,1]6 [0,1,2] [1,0,2]7 [0,1,3] [1,0,3]8 [1,0,0] [0,1,0]9 [1,0,1] [0,1,1]10 [1,0,2] [0,1,2]11 [1,0,3] [0,1,3]12 [1,1,0] [1,1,0]13 [1,1,1] [1,1,1]14 [1,1,2] [1,1,2]15 [1,1,3] [1,1,3]

再看另一個(gè)結(jié)果:

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

再對(duì)比轉(zhuǎn)置前后的圖看一下:

0 [0,0,0] [0,0,0] 1 [0,0,1] [1,0,0] 2 [0,0,2] [2,0,0] 3 [0,0,3] [3,0,0] 4 [0,1,0] [0,1,0] 5 [0,1,1] [1,1,0] 6 [0,1,2] [2,1,0] 7 [0,1,3] [3,1,0] 8 [1,0,0] [0,0,1] 9 [1,0,1] [1,0,1] 10 [1,0,2] [2,0,1] 11 [1,0,3] [3,0,1] 12 [1,1,0] [0,1,1] 13 [1,1,1] [1,1,1] 14 [1,1,2] [2,1,1] 15 [1,1,3] [3,1,1] 

瞬間就明白轉(zhuǎn)置了吧!其實(shí)只要?jiǎng)邮謱憣懀己苋菀酌靼椎摹A硗釺其實(shí)就是把順序全部顛倒過來,如下:

In [22]: arr3=np.arange(16).reshape(2,2,2,2)In [23]: arr3Out[23]:array([[[[ 0, 1],     [ 2, 3]],    [[ 4, 5],     [ 6, 7]]],    [[[ 8, 9],     [10, 11]],    [[12, 13],     [14, 15]]]])In [24]: arr3.TOut[24]:array([[[[ 0, 8],     [ 4, 12]],    [[ 2, 10],     [ 6, 14]]],    [[[ 1, 9],     [ 5, 13]],    [[ 3, 11],     [ 7, 15]]]])In [25]: arr3.transpose(3,2,1,0)Out[25]:array([[[[ 0, 8],     [ 4, 12]],    [[ 2, 10],     [ 6, 14]]],    [[[ 1, 9],     [ 5, 13]],    [[ 3, 11],     [ 7, 15]]]])            
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 宝坻区| 喀什市| 奇台县| 突泉县| 汉源县| 乌恰县| 新巴尔虎左旗| 改则县| 深水埗区| 金山区| 唐山市| 从江县| 彩票| 孝义市| 江都市| 尼木县| 西畴县| 沭阳县| 汾阳市| 开阳县| 松潘县| 且末县| 沂源县| 塘沽区| 广水市| 雅安市| 蚌埠市| 靖州| 太仆寺旗| 涿鹿县| 什邡市| 喀什市| 贵德县| 山西省| 明星| 耿马| 大新县| 鄯善县| 汝州市| 保山市| 南木林县|