我想控制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]])
答案 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]])