Numpy中的rollaxis的軸的困惑之處的理解

2021-09-22 21:19:06 字數 1071 閱讀 5166

numpy中的rollaxis的軸的困惑之處的理解

1.首先看下numpy官方的解釋2.先看預設引數為0時的情況:

相應結果:

首先,我們確定了一下0,1,2軸分別對應著什麼:(tips:區別matlab中的dim,其中是從列,行逐層遞進的0,1;而軸,axis=0表示從行開始,axis=1表示從列開始)

結果表示,0,1,2軸分別對應高(深度),行,列

而rollaxis(a,2,0)中排序就變成2,0,1則以列劃分成深度得出兩個2*2的矩陣;

同理rollaxis(a,1,0)

3.看一下官方給出的例子

對應在殼上的應用:

這裡面最明顯地問題就是a,1,1;a,1,2的問題,最好的推斷就是,1,2軸不是變換出來的位置,而是原來一開始的1,2軸,這從最基本的函式定義來說也是最簡單可行的。

第二,start的範圍問題,負數方面的話,基本直接加上列表的引數個數直接看就好,負數規則就是倒著數嘛(列表基礎知識0.0)

正數要+1的原因我想是不加1沒法把這一列直接放到列表的最後一位

[1]:

[2]:

[3]:

[4]:

numpy的rollaxis與swapaxes函式

numpy.rollaxis arr,axis,start 引數說明 import numpy as np 建立了三維的 ndarray a np.arange 27 reshape 3,3,3 print 原陣列 print a print n print 輸出結果 將軸 2 滾動到軸 1 pri...

Numpy中的函式

生成用函式 效果np.array x 將輸入資料轉化為乙個ndarray np.array x,dtype 將輸入資料轉化為乙個型別為type的ndarray np.asarray array 將輸入資料轉化為乙個新的 copy ndarray np.ones n 生成乙個n長度的一維全一ndarr...

Numpy中的transpose函式

transpose 的操作物件是矩陣。我們用乙個例子來說明這個函式 0 1 2 3 4 5 6 7 這是乙個shape為 2,2,2 的矩陣,現在對它進行transpose操作。首先我們對矩陣的維度進行編號,上述矩陣有三個維度,則編號分別為0,1,2,而transpose函式的引數輸入就是基於這個編...