Python:ndarray.flatten('F')有反转吗?

时间:2011-02-23 03:46:07

标签: python arrays numpy

例如:

from numpy import *
x = array([[1,2], [3, 4], [5, 6]])
print x.flatten('F')
>>>[1 3 5 2 4 6]

是否可以从[[1,2], [3, 4], [5, 6]]获取[1 3 5 2 4 6]

2 个答案:

答案 0 :(得分:16)

>>> a = numpy.array((1, 3, 5, 2 ,4, 6))
>>> a.reshape(2, -1).T
array([[1, 2],
       [3, 4],
       [5, 6]])
>>> 

答案 1 :(得分:6)

这似乎更直截了当。只需将原始形状重新塑造成重塑形状。

import numpy as np
np.array([[1,2], [3, 4], [5, 6]]).flatten().reshape((3, 2))

array([[1, 2],
       [3, 4],
       [5, 6]])

对于您的Fortran订购,请为重塑订单传递'F':

import numpy as np
np.array([[1,2], [3, 4], [5, 6]]).flatten('F').reshape((3, 2), order='F')

array([[1, 2],
       [3, 4],
       [5, 6]])