【问题标题】:How to make a new matrix from another matrix by using its first column as new's first row?如何通过将另一个矩阵的第一列用作新矩阵的第一行来从另一个矩阵创建一个新矩阵?
【发布时间】:2018-06-30 21:16:07
【问题描述】:

我想使用 python 函数或库 - 如果有的话 - 来创建一个新矩阵,其从右下方开始的第一行是通过使用从左上角开始的旧矩阵的第一列创建的。该矩阵可以有不同的列和行,但当然我的新矩阵必须与前一个矩阵具有相同的维度。我的遗嘱是这样的:

【问题讨论】:

  • 请贴出你试过的代码
  • 我不能,所以我问:)

标签: python-3.x numpy matrix


【解决方案1】:

与问题的简短风格保持一致:

In [467]: alist = [5,6,4,3,4,5,3,2,5,3,1,2,2,3,2,1,3,1,1,1]
In [468]: arr = np.array(alist).reshape(4,5)
In [469]: arr
Out[469]: 
array([[5, 6, 4, 3, 4],
       [5, 3, 2, 5, 3],
       [1, 2, 2, 3, 2],
       [1, 3, 1, 1, 1]])
In [470]: arr.reshape(5,4)
Out[470]: 
array([[5, 6, 4, 3],
       [4, 5, 3, 2],
       [5, 3, 1, 2],
       [2, 3, 2, 1],
       [3, 1, 1, 1]])
In [471]: arr.reshape(5,4,order='F')
Out[471]: 
array([[5, 3, 2, 1],
       [5, 2, 1, 4],
       [1, 3, 3, 3],
       [1, 4, 5, 2],
       [6, 2, 3, 1]])

In [473]: np.rot90(_)
Out[473]: 
array([[1, 4, 3, 2, 1],
       [2, 1, 3, 5, 3],
       [3, 2, 3, 4, 2],
       [5, 5, 1, 1, 6]])

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-06
    • 2012-09-22
    • 1970-01-01
    相关资源
    最近更新 更多