中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

對numpy中的transpose和swapaxes函數詳解

發布時間:2020-09-13 15:40:19 來源:腳本之家 閱讀:173 作者:ML_BOY 欄目:開發技術

transpose()

這個函數如果括號內不帶參數,就相當于轉置,和.T效果一樣,而今天主要來講解其帶參數。

我們看如下一個numpy的數組:

`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]]])

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

arr[0,1,3] #結果就是7

這下應該懂了些吧,好,再回到transpose()這個函數,它里面就是維度的排序,比如我們后面寫的transpose(2,1,0),就是把之前第三個維度轉為第一個維度,之前的第二個維度不變,之前的第一個維度變為第三個維度,好那么我們繼續拿7這個值來說,之前的索引為[0,1,3],按照我們的轉換方法,把之前的第三維度變為第一維度,之前的第一維度變為第三維度,那么現在7的索引就是(3,1,0)

同理所有的數組內的數字都是這樣變得,這就是transpose()內參數的變化。

理解了上面,再來理解swapaxes()就很簡單了,swapaxes接受一對軸編號,其實這里我們叫一對維度編號更好吧,比如:

arr.swapaxes(2,1) #就是將第三個維度和第二個維度交換
array([[[ 0, 4],
  [ 1, 5],
  [ 2, 6],
  [ 3, 7]],

  [[ 8, 12],
  [ 9, 13],
  [10, 14],
  [11, 15]]])

還是那我們的數字7來說,之前的索引是(0,1,3),那么交換之后,就應該是(0,3,1)

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

以上這篇對numpy中的transpose和swapaxes函數詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

镇平县| 壤塘县| 东丰县| 安仁县| 靖西县| 江油市| 烟台市| 清水河县| 北辰区| 宁陕县| 菏泽市| 舟山市| 噶尔县| 手游| 临朐县| 博乐市| 黑河市| 辉县市| 安化县| 华坪县| 玉溪市| 洛隆县| 石泉县| 旺苍县| 临洮县| 晋州市| 柞水县| 江口县| 襄汾县| 霍山县| 井陉县| 革吉县| 龙门县| 静海县| 延安市| 苍溪县| 仙居县| 巴马| 定边县| 苍山县| 疏勒县|