[英]Python reshaping 1D array into 2D array by 'rows' or 'columns'
我想控制 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]])
使用np.transpose
。
import numpy as np
print(np.arange(9).reshape(3,3).transpose())
Output:
[[0 3 6]
[1 4 7]
[2 5 8]]
如果你对原始矩阵进行转置,你会得到你想要的效果。
import numpy as np
a = np.arange(6).reshape(3,3).tranpose()
或者
a = np.arange(6).reshape(3,3).T
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]])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.