Numpy多維陣列的軸對換 transpose

2021-08-18 00:06:45 字數 670 閱讀 7642

轉置中,transpose方法返回的是源資料的檢視,就是說修改了檢視就會把源資料也改了。

高維陣列,transpose的方法如下展示

建立乙個形狀為(2,2,4)的三維陣列:

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

transpose需要放入乙個由軸編號組成的元組才能變換,意思就是放入需要改變的shape

我需要把 0軸 和 1軸 對調,2軸不變,就是放入(1,0,2)

>>> arr.transpose((1,0,2))

array([[[ 0, 1, 2, 3],

[ 8, 9, 10, 11]],

[[ 4, 5, 6, 7],

[12, 13, 14, 15]]])

這裡就需要解釋一下了,例如第二行的8這個數,這個位置原來是4,4對應的座標為(0,1,0)——第3維的第乙個元素中的第二個元素的第乙個。經過transpose轉換之後,這個位置對應的便是(1,0,0)中的8,如此類推

numpy中多維陣列的軸(axis)

多維陣列的軸 axis 是和該陣列的size 或者shape 的元素是相對應的 np.random.seed 123 x np.random.randint 0,5,3,2,2 print x 5 2 4 2 1 3 2 3 1 1 0 1 x.sum axis 0 array 7,6 6,6 x....

numpy中多維陣列的軸 axis

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!多維陣列的軸 axis 是和該陣列的size 或者shape 的元素是相對應的 np.random.seed 123 x np.random.randint 0,5,3,2,2 print x 5 2 4 2 1 3 2 3 1 1 0 1 x.s...

numpy中多維陣列的軸(axis)

分享一下我老師大神的人工智慧教程。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智慧的隊伍中來!多維陣列的軸 axis 是和該陣列的size 或者shape 的元素是相對應的 np.random.seed 123 x np.random.randint 0,5,3,2,2 print...