亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Numpy數(shù)組的轉(zhuǎn)置和軸交換的實(shí)現(xiàn)

 更新時(shí)間:2023年03月27日 09:59:06   作者:算力鬼才信  
本文主要介紹了Numpy數(shù)組的轉(zhuǎn)置和軸交換的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

NumPy 數(shù)組在進(jìn)行轉(zhuǎn)置時(shí)不會(huì)實(shí)際移動(dòng)內(nèi)存中的任何數(shù)據(jù) 位置只是改變對(duì)原始矩陣的索引方式 ,比如我原來是行索引現(xiàn)在變?yōu)榱兴饕?/p>

轉(zhuǎn)置是一種視圖并不是對(duì)原數(shù)組的復(fù)制數(shù)組轉(zhuǎn)置擁有transpose方法,也有特殊的T屬性

對(duì)于numpy數(shù)組的轉(zhuǎn)置僅限于一維和二維數(shù)組,使用的是 numpy中的T 屬性

創(chuàng)建一個(gè)0-15的一維數(shù)組,并且對(duì)它進(jìn)行了數(shù)組重組,變?yōu)?2 x 2 x 4的三維數(shù)組,并對(duì)它進(jìn)行轉(zhuǎn)置

import  numpy as np
#創(chuàng)建一個(gè)三維數(shù)組,這個(gè)三維數(shù)組的形狀是 2 x 2 x 4 ,三維數(shù)組包括兩個(gè)二維數(shù)組,二維數(shù)組中包含兩個(gè)一維數(shù)組,一維數(shù)組的數(shù)組維度長(zhǎng)度是 4
arr = np.arange(16)
arr2 = arr.reshape(4,-1)
arr3 = arr.T
0

我們通過數(shù)組的迭代來檢查numpy數(shù)組的轉(zhuǎn)置是否對(duì)原數(shù)組位置做了改變,這里我們要引用numpy.nditer() 方法

對(duì)原數(shù)組進(jìn)行迭代:

arr = np.arange(16)
arr2 = arr.reshape(4,-1)
for x in np.nditer(arr2): # 需要注意的是for循環(huán)的末尾一定要加上 冒號(hào)(:)
 print(x,end=" ")

我們對(duì)通過 arr2的轉(zhuǎn)置數(shù)組arr3做迭代

arr = np.arange(16)
arr2 = arr.reshape(4,-1)
arr3 = arr2.T
for xx in np.nditer(arr3):
 print(xx,end=" ")

可以發(fā)現(xiàn)他們的打印結(jié)果未發(fā)生任何變化,所以可以證實(shí),數(shù)組轉(zhuǎn)置并不是改變了原數(shù)組的元素位置,只是改變了它的索引方式。

其實(shí)我可以告訴你,一個(gè)最終結(jié)果,原數(shù)組和對(duì)原數(shù)組的轉(zhuǎn)置在內(nèi)存中是共享數(shù)據(jù)的,,類似于家里的小狗叫做旺旺 和小黃,其實(shí)指的是是一個(gè)東西

在這里需要注意的是,在數(shù)組轉(zhuǎn)置下對(duì)數(shù)組作修改一定會(huì)影響到原數(shù)組

例如:

arr = np.arange(10).reshape(2,5)
arr2 = arr.T
#為了方便理解我上述說的意思,我引用下面的實(shí)例
#對(duì)arr2中的某一數(shù)組作以修改
print(arr)  # 原數(shù)組
arr2[2][1] = 200  #在原數(shù)組轉(zhuǎn)置后,對(duì)其中 某一個(gè)元素做修改
print(arr2)  # 打印對(duì)原數(shù)組轉(zhuǎn)之后的數(shù)組
print(arr)   #打印原數(shù)組

發(fā)現(xiàn)了什么我們最初定義的數(shù)組被篡改了,不知道大家對(duì)數(shù)組的轉(zhuǎn)置和原數(shù)組公用一個(gè)內(nèi)存位置的概念的理解是否變得容易

array.transpose() 軸交換

雖然,transpose方法可以實(shí)現(xiàn)轉(zhuǎn)置,但是它的真正用途是軸交換,我前面提到.T 方法只適合用于一二數(shù)組,三維,四維就要用到transpose()方法。

transpose() 方法中的參數(shù)和數(shù)組的維度有關(guān),拿三位數(shù)組來說共需要三個(gè)參數(shù)分別是,

transpose(x,y,z)其中的參數(shù)分別對(duì)應(yīng)0,1,2,只需要變換軸對(duì)應(yīng)數(shù)字參數(shù)的順序就可以將數(shù)組進(jìn)行軸的變換。

原數(shù)組對(duì)應(yīng)的參數(shù)順序是,transpose(0,1,2)

import numpy as np
arr = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]])
print(arr)
arr2 = arr.transpose((0,2,1))  #我在這里改變了列和縱深的順序
print(arr2)

經(jīng)過軸交換后arr數(shù)組打印結(jié)果

這一塊比較難于理解,我也是看了好久現(xiàn)在也是馬馬虎虎,我可以告訴大家一個(gè)比較笨的方法

請(qǐng)記住,(x,y,z)或者(0,1,2)分別代表行軸,列軸,縱深軸,transpose 方法是對(duì)它們的軸進(jìn)行了交換。

到此這篇關(guān)于Numpy數(shù)組的轉(zhuǎn)置和軸交換的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Numpy數(shù)組轉(zhuǎn)置和軸交換內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • numpy.reshape()的函數(shù)的具體使用

    numpy.reshape()的函數(shù)的具體使用

    本文主要介紹了numpy.reshape()的函數(shù)的具體使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • Python基礎(chǔ)學(xué)習(xí)函數(shù)+模塊+類

    Python基礎(chǔ)學(xué)習(xí)函數(shù)+模塊+類

    這篇文章主要介紹了Python基礎(chǔ)學(xué)習(xí)函數(shù)+模塊+類,這是基礎(chǔ)學(xué)習(xí)的第三篇內(nèi)容,小編已把前兩篇鏈接放在下面,需要學(xué)習(xí)的同學(xué)可以參考一下
    2022-05-05
  • 詳解Python中ping命令的深層原理

    詳解Python中ping命令的深層原理

    Ping命令是網(wǎng)絡(luò)管理員和普通用戶最常用的網(wǎng)絡(luò)工具之一,可以測(cè)試網(wǎng)絡(luò)連接是否正常,本文主要來和大家探討Ping命令的工作原理和用法,需要的可以參考一下
    2023-06-06
  • Python pygame 項(xiàng)目實(shí)戰(zhàn)事件監(jiān)聽

    Python pygame 項(xiàng)目實(shí)戰(zhàn)事件監(jiān)聽

    這篇文章主要介紹了Python pygame 項(xiàng)目實(shí)戰(zhàn)事件監(jiān)聽,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-08-08
  • python?json-rpc?規(guī)范源碼閱讀

    python?json-rpc?規(guī)范源碼閱讀

    這篇文章主要為大家介紹了python?json-rpc?規(guī)范的源碼閱讀,以及jsonrpcclient與jsonrpcserver的實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • Python加密word文檔詳解

    Python加密word文檔詳解

    這篇文章主要介紹了Python實(shí)現(xiàn)對(duì)word文檔添加密碼去除密碼,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-08-08
  • python 常見的排序算法實(shí)現(xiàn)匯總

    python 常見的排序算法實(shí)現(xiàn)匯總

    這篇文章主要介紹了python 常見的排序算法,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-08-08
  • pandas應(yīng)用實(shí)例之pivot函數(shù)詳解

    pandas應(yīng)用實(shí)例之pivot函數(shù)詳解

    最近在做基于python的數(shù)據(jù)分析工作,引用第三方數(shù)據(jù)分析庫pandas,所以下面這篇文章主要給大家介紹了關(guān)于pandas應(yīng)用實(shí)例之pivot函數(shù)的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • Python常用模塊之datetime模塊詳解

    Python常用模塊之datetime模塊詳解

    這篇文章主要介紹了Python常用模塊之datetime模塊詳解,datetime是Python處理日期和時(shí)間的標(biāo)準(zhǔn)庫,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-08-08
  • Python 序列化和反序列化庫 MarshMallow 的用法實(shí)例代碼

    Python 序列化和反序列化庫 MarshMallow 的用法實(shí)例代碼

    marshmallow(Object serialization and deserialization, lightweight and fluffy.)用于對(duì)對(duì)象進(jìn)行序列化和反序列化,并同步進(jìn)行數(shù)據(jù)驗(yàn)證。這篇文章主要介紹了Python 序列化和反序列化庫 MarshMallow 的用法實(shí)例代碼,需要的朋友可以參考下
    2020-02-02

最新評(píng)論