【问题标题】:python - how to convert a list of size n to a 2d numpy array of size n/2 x n/2 [duplicate]python - 如何将大小为 n 的列表转换为大小为 n/2 x n/2 的二维 numpy 数组 [重复]
【发布时间】:2018-11-08 19:22:16
【问题描述】:

例如 转换 [ 3, 1, 2, 4, 4, 2, 3, 1, 1, 3, 4, 2, 2、4、1、3 ] 到

[
      [3, 1, 2, 4],
      [4, 2, 3, 1],
      [1, 3, 4, 2],
      [2, 4, 1, 3]
]

最短的方法...不将其转换为 4 个列表然后转换为 2d

【问题讨论】:

标签: python python-3.x numpy


【解决方案1】:

在 numpy 中,您可以使用 reshape 命令将一维数组转换为二维数组。第一个参数是您当前的数组,第二个参数指定它的新“形状”应该是什么样子。在本例中,为 4 行乘 4 列。

import numpy as np

my_array = [ 3, 1, 2, 4, 4, 2, 3, 1, 1, 3, 4, 2, 2, 4, 1, 3 ]
new_array = np.reshape(my_array, (4, 4))

将导致new_array 成为:

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

Akavall 非常友好地直接链接到 reshape 命令上的文档页面,在此处复制:https://docs.scipy.org/doc/numpy/reference/generated/numpy.reshape.html

【讨论】:

    猜你喜欢
    • 2020-11-23
    • 1970-01-01
    • 2021-11-24
    • 1970-01-01
    • 2013-02-21
    • 1970-01-01
    • 1970-01-01
    • 2019-09-22
    • 2019-02-03
    相关资源
    最近更新 更多