生成一個數組,按照一定的順序打亂第三個維度的數據
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]]]