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

首頁 > 編程 > Python > 正文

對numpy中的transpose和swapaxes函數(shù)詳解

2020-01-04 14:52:18
字體:
供稿:網(wǎng)友

transpose()

這個函數(shù)如果括號內(nèi)不帶參數(shù),就相當(dāng)于轉(zhuǎn)置,和.T效果一樣,而今天主要來講解其帶參數(shù)。

我們看如下一個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]]])

為什么會是這樣的結(jié)果呢,這是因為arr這個數(shù)組有三個維度,三個維度的編號對應(yīng)為(0,1,2),比如這樣,我們需要拿到7這個數(shù)字,怎么辦,肯定需要些三個維度的值,7的第一個維度為0,第二個維度為1,第三個3,所以arr[0,1,3]則拿到了7

arr[0,1,3] #結(jié)果就是7

這下應(yīng)該懂了些吧,好,再回到transpose()這個函數(shù),它里面就是維度的排序,比如我們后面寫的transpose(2,1,0),就是把之前第三個維度轉(zhuǎn)為第一個維度,之前的第二個維度不變,之前的第一個維度變?yōu)榈谌齻€維度,好那么我們繼續(xù)拿7這個值來說,之前的索引為[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接受一對軸編號,其實這里我們叫一對維度編號更好吧,比如:

arr.swapaxes(2,1) #就是將第三個維度和第二個維度交換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)

多說一句,其實numpy高維數(shù)組的切片也是這樣選取維度的。

以上這篇對numpy中的transpose和swapaxes函數(shù)詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網(wǎng)。


注:相關(guān)教程知識閱讀請移步到python教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 伽师县| 万盛区| 竹溪县| 仙游县| 岑溪市| 阜南县| 南开区| 连城县| 普兰县| 呼玛县| 台南县| 唐海县| 鄂伦春自治旗| 金川县| 贵溪市| 柘荣县| 福泉市| 施甸县| 锡林浩特市| 翁牛特旗| 澜沧| 泉州市| 万山特区| 达拉特旗| 腾冲县| 大姚县| 天柱县| 胶南市| 泌阳县| 攀枝花市| 万全县| 鄢陵县| 古丈县| 姜堰市| 周宁县| 乌兰察布市| 都兰县| 孝感市| 会泽县| 阿勒泰市| 通山县|