對(duì)numpy中的transpose和swapaxes函數(shù)詳解
transpose()
這個(gè)函數(shù)如果括號(hào)內(nèi)不帶參數(shù),就相當(dāng)于轉(zhuǎn)置,和.T效果一樣,而今天主要來講解其帶參數(shù)。
我們看如下一個(gè)numpy的數(shù)組:
`arr=np.arange(16).reshape((2,2,4)) arr= array([[[ 0, 1, 2, 3], [ 4, 5, 6, 7]], [[ 8, 9, 10, 11], [12, 13, 14, 15]]]) `
那么有:
arr.transpose(2,1,0) array([[[ 0, 8], [ 4, 12]], [[ 1, 9], [ 5, 13]], [[ 2, 10], [ 6, 14]], [[ 3, 11], [ 7, 15]]])
為什么會(huì)是這樣的結(jié)果呢,這是因?yàn)閍rr這個(gè)數(shù)組有三個(gè)維度,三個(gè)維度的編號(hào)對(duì)應(yīng)為(0,1,2),比如這樣,我們需要拿到7這個(gè)數(shù)字,怎么辦,肯定需要些三個(gè)維度的值,7的第一個(gè)維度為0,第二個(gè)維度為1,第三個(gè)3,所以arr[0,1,3]則拿到了7
arr[0,1,3] #結(jié)果就是7
這下應(yīng)該懂了些吧,好,再回到transpose()這個(gè)函數(shù),它里面就是維度的排序,比如我們后面寫的transpose(2,1,0),就是把之前第三個(gè)維度轉(zhuǎn)為第一個(gè)維度,之前的第二個(gè)維度不變,之前的第一個(gè)維度變?yōu)榈谌齻€(gè)維度,好那么我們繼續(xù)拿7這個(gè)值來說,之前的索引為[0,1,3],按照我們的轉(zhuǎn)換方法,把之前的第三維度變?yōu)榈谝痪S度,之前的第一維度變?yōu)榈谌S度,那么現(xiàn)在7的索引就是(3,1,0)
同理所有的數(shù)組內(nèi)的數(shù)字都是這樣變得,這就是transpose()內(nèi)參數(shù)的變化。
理解了上面,再來理解swapaxes()就很簡單了,swapaxes接受一對(duì)軸編號(hào),其實(shí)這里我們叫一對(duì)維度編號(hào)更好吧,比如:
arr.swapaxes(2,1) #就是將第三個(gè)維度和第二個(gè)維度交換 array([[[ 0, 4], [ 1, 5], [ 2, 6], [ 3, 7]], [[ 8, 12], [ 9, 13], [10, 14], [11, 15]]])
還是那我們的數(shù)字7來說,之前的索引是(0,1,3),那么交換之后,就應(yīng)該是(0,3,1)
多說一句,其實(shí)numpy高維數(shù)組的切片也是這樣選取維度的。
以上這篇對(duì)numpy中的transpose和swapaxes函數(shù)詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- ndarray的轉(zhuǎn)置(numpy.transpose()與A.T命令對(duì)比分析)
- Python?numpy.transpose使用詳解
- numpy.transpose()實(shí)現(xiàn)數(shù)組的轉(zhuǎn)置例子
- 對(duì)numpy下的軸交換transpose和swapaxes的示例解讀
- 詳解Numpy數(shù)組轉(zhuǎn)置的三種方法T、transpose、swapaxes
- Numpy中轉(zhuǎn)置transpose、T和swapaxes的實(shí)例講解
- numpy.transpose對(duì)三維數(shù)組的轉(zhuǎn)置方法
- numpy中的transpose函數(shù)中具體使用方法
相關(guān)文章
自動(dòng)化Nginx服務(wù)器的反向代理的配置方法
這篇文章主要介紹了自動(dòng)化Nginx服務(wù)器的反向代理的配置方法,反向代理是Nginx服務(wù)器的招牌功能,需要的朋友可以參考下2015-06-06淺談keras中l(wèi)oss與val_loss的關(guān)系
這篇文章主要介紹了淺談keras中l(wèi)oss與val_loss的關(guān)系,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-06-06Python自動(dòng)化辦公實(shí)現(xiàn)數(shù)據(jù)自動(dòng)填充需求
這篇文章主要為大家介紹了Python自動(dòng)化辦公實(shí)現(xiàn)數(shù)據(jù)自動(dòng)填充需求,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06Python數(shù)據(jù)結(jié)構(gòu)與算法之常見的分配排序法示例【桶排序與基數(shù)排序】
這篇文章主要介紹了Python數(shù)據(jù)結(jié)構(gòu)與算法之常見的分配排序法,結(jié)合實(shí)例形式分析了桶排序與基數(shù)排序的相關(guān)原理及實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-12-12python轉(zhuǎn)換pkl模型文件為txt文件問題
這篇文章主要介紹了python轉(zhuǎn)換pkl模型文件為txt文件問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06深入探討PythonLogging模塊的高級(jí)用法與性能優(yōu)化
在Python應(yīng)用程序中,日志處理是一項(xiàng)至關(guān)重要的任務(wù),本文將探索Logging模塊的高級(jí)用法,包括日志級(jí)別、格式化、處理程序等方面的功能,需要的可以參考下2024-04-04