最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2018年04月17日 15:36:40   作者:秋刀魚的滋味901  
下面小編就為大家分享一篇Numpy中轉(zhuǎn)置transpose、T和swapaxes的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

利用Python進(jìn)行數(shù)據(jù)分析時(shí),Numpy是最常用的庫,經(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.T
Out[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)邮謱憣?,都很容易明白的。另外T其實(shí)就是把順序全部顛倒過來,如下:

In [22]: arr3=np.arange(16).reshape(2,2,2,2)
In [23]: arr3
Out[23]:
array([[[[ 0, 1],
     [ 2, 3]],
    [[ 4, 5],
     [ 6, 7]]],
    [[[ 8, 9],
     [10, 11]],
    [[12, 13],
     [14, 15]]]])
In [24]: arr3.T
Out[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]]]])

轉(zhuǎn)置就是這樣子,具體上面aar3轉(zhuǎn)置前后的位置,就不寫了。

下面說說swapaxes,軸對(duì)稱。

話不多,上結(jié)果

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

發(fā)現(xiàn)了吧,其實(shí)swapaxes其實(shí)就是把矩陣中某兩個(gè)軸對(duì)換一下,不信再看一個(gè):

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

哈哈,只要?jiǎng)邮肿鲎?,?huì)發(fā)現(xiàn)其實(shí)沒有那么困難,不能只看。

紙上得來終覺淺,絕知此事要躬行!共勉!

以上這篇Numpy中轉(zhuǎn)置transpose、T和swapaxes的實(shí)例講解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python 圖片轉(zhuǎn)數(shù)組,二進(jìn)制互轉(zhuǎn)操作

    Python 圖片轉(zhuǎn)數(shù)組,二進(jìn)制互轉(zhuǎn)操作

    這篇文章主要介紹了Python 圖片轉(zhuǎn)數(shù)組,二進(jìn)制互轉(zhuǎn)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • python繪制高斯曲線

    python繪制高斯曲線

    這篇文章主要為大家詳細(xì)介紹了python繪制高斯曲線,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-02-02
  • Python構(gòu)建一個(gè)文檔掃描器的實(shí)現(xiàn)

    Python構(gòu)建一個(gè)文檔掃描器的實(shí)現(xiàn)

    本文主要介紹了Python構(gòu)建一個(gè)文檔掃描器的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • Python安裝pycurl失敗的解決方法

    Python安裝pycurl失敗的解決方法

    今天小編就為大家分享一篇Python安裝pycurl失敗的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • Python語言實(shí)現(xiàn)科學(xué)計(jì)算器

    Python語言實(shí)現(xiàn)科學(xué)計(jì)算器

    這篇文章主要為大家詳細(xì)介紹了Python語言實(shí)現(xiàn)科學(xué)計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • pytorch判斷是否cuda 判斷變量類型方式

    pytorch判斷是否cuda 判斷變量類型方式

    這篇文章主要介紹了pytorch判斷是否cuda 判斷變量類型方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • python代碼如何實(shí)現(xiàn)切換中英文輸入法

    python代碼如何實(shí)現(xiàn)切換中英文輸入法

    這篇文章主要介紹了python代碼如何實(shí)現(xiàn)切換中英文輸入法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • 基于python實(shí)現(xiàn)ROC曲線繪制廣場(chǎng)解析

    基于python實(shí)現(xiàn)ROC曲線繪制廣場(chǎng)解析

    這篇文章主要介紹了基于python實(shí)現(xiàn)ROC曲線繪制廣場(chǎng)解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • python 根據(jù)列表批量下載網(wǎng)易云音樂的免費(fèi)音樂

    python 根據(jù)列表批量下載網(wǎng)易云音樂的免費(fèi)音樂

    這篇文章主要介紹了python 根據(jù)列表下載網(wǎng)易云音樂的免費(fèi)音樂,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-12-12
  • python使用ddddocr庫識(shí)別滑動(dòng)驗(yàn)證碼簡(jiǎn)單代碼示例

    python使用ddddocr庫識(shí)別滑動(dòng)驗(yàn)證碼簡(jiǎn)單代碼示例

    這篇文章主要介紹了如何使用ddddocr庫來識(shí)別滑塊驗(yàn)證碼,并提供了一個(gè)示例代碼和識(shí)別結(jié)果,同時(shí)提醒注意ddddocr庫的大小限制,可能會(huì)影響某些無服務(wù)器函數(shù)的部署,需要的朋友可以參考下
    2024-11-11

最新評(píng)論

博兴县| 全州县| 红原县| 宁国市| 英山县| 拉萨市| 宝山区| 绥化市| 雷州市| 桃源县| 抚远县| 绥江县| 江城| 德兴市| 丹江口市| 荣成市| 靖江市| 连山| 遂昌县| 武乡县| 抚宁县| 承德县| 普兰县| 通城县| 谷城县| 北辰区| 大理市| 安平县| 江陵县| 毕节市| 文水县| 汉川市| 凤凰县| 特克斯县| 贞丰县| 沈丘县| 化德县| 云安县| 越西县| 淮安市| 育儿|