[英]Converting 3D matrix to cascaded 2D Matrices
我在python中有一個3D
矩陣,如下所示:
import numpy as np
a = np.ones((2,2,3))
a[0,0,0] = 2
a[0,0,1] = 3
a[0,0,2] = 4
我想將這個3D
矩陣轉換為一組2D
矩陣。 我試過np.reshape
但它沒有解決我的問題。 我感興趣的最終形狀是以下級聯的vesrsion:
[[ 2. 1. 3. 1. 4. 1.]
[ 1. 1. 1. 1. 1. 1.]]
但是, np.reshape
給了我以下內容
[[ 2. 3. 4. 1. 1. 1.]
[ 1. 1. 1. 1. 1. 1.]]
我怎么解決這個問題?
a.transpose([0,2,1]).reshape(a.shape[0],-1)
或者使用與transpose
相同的swapaxes
- reshape
swapaxes
-
a.swapaxes(2,1).reshape(a.shape[0],-1)
樣品運行 -
In [66]: a
Out[66]:
array([[[ 2., 3., 4.],
[ 1., 1., 1.]],
[[ 1., 1., 1.],
[ 1., 1., 1.]]])
In [67]: a.transpose([0,2,1]).reshape(a.shape[0],-1)
Out[67]:
array([[ 2., 1., 3., 1., 4., 1.],
[ 1., 1., 1., 1., 1., 1.]])
In [68]: a.swapaxes(2,1).reshape(a.shape[0],-1)
Out[68]:
array([[ 2., 1., 3., 1., 4., 1.],
[ 1., 1., 1., 1., 1., 1.]])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.