python - 如何将大小为n的列表转换为大小为n / 2 x n / 2的2d numpy数组

时间:2018-05-30 03:59:09

标签: python python-3.x numpy

例如

转换     [           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

1 个答案:

答案 0 :(得分:0)

在numpy中,您可以使用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)) 命令将1d数组转换为2d数组。第一个参数是您当前的数组,第二个参数指定新的'形状'它应该看起来像。在这种情况下,4行乘4列。

new_array

将导致array([[3, 1, 2, 4], [4, 2, 3, 1], [1, 3, 4, 2], [2, 4, 1, 3]])

reshape

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