numpy打亂某維度數據

生成一個數組,按照一定的順序打亂第三個維度的數據

import numpy as np
a = np.arange(24).reshape(2,4,3)
#a = a[:,:,:,np.newaxis]print(a)
#a1 = a[:,:,0]
#a2 = a[:,:,1]
#a3 = a[:,:,2]

a1 = a[:,:,0].transpose()
a2 = a[:,:,1].transpose()
a3 = a[:,:,2].transpose()

print('------')
print(a1)
print(a1.shape)
b = np.random.permutation([a1,a2,a3])

print('-------')
print(b)
print(b.shape)
print('-------')

print(b.swapaxes(0,2))

輸出結果如下

------
[[ 0 12]
 [ 3 15]
 [ 6 18]
 [ 9 21]]
(4, 2)
-------
[[[ 0 12]
  [ 3 15]
  [ 6 18]
  [ 9 21]]

 [[ 1 13]
  [ 4 16]
  [ 7 19]
  [10 22]]

 [[ 2 14]
  [ 5 17]
  [ 8 20]
  [11 23]]]
(3, 4, 2)
-------
[[[ 0  1  2]
  [ 3  4  5]
  [ 6  7  8]
  [ 9 10 11]]

 [[12 13 14]
  [15 16 17]
  [18 19 20]
  [21 22 23]]]
發佈了60 篇原創文章 · 獲贊 28 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章