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

时间:2018-05-25 21:51:23

标签: python arrays numpy matrix

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

m = [[1,2,3,4],
     [5,6,7,8]]

我正试图获得一个8x1形式的矢量:

m_new = [1,5,2,6,3,7,4,8]

reshape()函数能够做这样的事吗?使用

m_new = m.reshape(8,1)

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

1 个答案:

答案 0 :(得分:2)

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

From the documentation

  

订单:{'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])