Python通过“行”或“列”将一维数组重塑为二维数组

时间:2020-04-30 02:19:49

标签: python arrays numpy

我想控制array.reshape()如何填充新数组。例如

a = np.arange(12).reshape(3,4)
## array([[ 0,  1,  2,  3],
##   [ 4,  5,  6,  7],
##   [ 8,  9, 10, 11]]) 

但是我希望能够用类似以下内容的列填充数组:

a = np.arange(9).reshape(3,3, 'columnwise')
## array([[ 0,  3,  6,  9],
##   [ 1,  4,  7,  10],
##   [ 2,  5, 8, 11]]) 

3 个答案:

答案 0 :(得分:2)

使用np.transpose

import numpy as np

print(np.arange(9).reshape(3,3).transpose())

输出:

[[0 3 6]
 [1 4 7]
 [2 5 8]]

答案 1 :(得分:0)

如果对原始矩阵进行转置,将获得所需的效果。

import numpy as np
a = np.arange(6).reshape(3,3).tranpose()

OR

a = np.arange(6).reshape(3,3).T

答案 2 :(得分:0)

In [22]:  np.arange(12).reshape(3,4, order='F')                                                        
Out[22]: 
array([[ 0,  3,  6,  9],
       [ 1,  4,  7, 10],
       [ 2,  5,  8, 11]])
相关问题