Python:将矩阵重塑为特定形式的向量

Python:将矩阵重塑为特定形式的向量,python,arrays,numpy,matrix,Python,Arrays,Numpy,Matrix,我有一个2x4矩阵的形式: m = [[1,2,3,4], [5,6,7,8]] m_new = [1,5,2,6,3,7,4,8] A我正试图得到以下形式的8x1矢量: m = [[1,2,3,4], [5,6,7,8]] m_new = [1,5,2,6,3,7,4,8] 函数是否可以执行类似的操作?使用 m_new = m.reshape(8,1) 不幸的是,似乎无法完成这项工作,但希望在重塑中有其他设置可以实现这一点。您正在寻找order参数,该参数可以应用

我有一个2x4矩阵的形式:

m = [[1,2,3,4],
     [5,6,7,8]]
m_new = [1,5,2,6,3,7,4,8]
A我正试图得到以下形式的8x1矢量:

m = [[1,2,3,4],
     [5,6,7,8]]
m_new = [1,5,2,6,3,7,4,8]
函数是否可以执行类似的操作?使用

m_new = m.reshape(8,1)

不幸的是,似乎无法完成这项工作,但希望在重塑中有其他设置可以实现这一点。

您正在寻找
order
参数,该参数可以应用于几乎任何
numpy
用于展平多维数组的方法

:

顺序:{'C','F','A'},可选

  • “F”表示使用类似Fortran的索引顺序读/写元素,第一个索引变化最快,最后一个索引变化最慢
设置

m = np.arange(1, 9).reshape(-2, 4)
示例:

m.reshape(8, order='F')

m.flatten(order='F')

m.ravel(order='F')
所有结果如下:

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

添加一个转置,
m.T.reformate(8,1)
m是一个numpy数组、一个numpy矩阵还是一个列表?“似乎做不到”是什么意思?当你尝试它时会发生什么?@abarnert,是的,如果他说什么不对就好了。但他确实给出了与简单的重塑不同的理想结果,
[1,2,3,4,5,6,7,8]
。因此推断他需要某种重新排序。