国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 通山县| 石渠县| 长葛市| 赫章县| 秦皇岛市| 大田县| 南投市| 南充市| 界首市| 鄯善县| 永和县| 修水县| 全南县| 巴彦淖尔市| 武义县| 合作市| 尼木县| 腾冲县| 凌源市| 江阴市| 西城区| 会东县| 华安县| 山丹县| 海城市| 子长县| 杨浦区| 惠来县| 中江县| 运城市| 岑溪市| 桂平市| 蒙山县| 嵊州市| 红桥区| 凯里市| 牟定县| 凌源市| 邢台市| 如皋市| 东乡县|