首页 > 解决方案 > 将列表拆分为 nx 长度矩阵

问题描述

假设列表如下:

Y= [-0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 4.0, 4.0, -0.0, 2.0, -0.0, -0.0, 4.0, -0.0, -0.0, -0.0, -0.0, -0.0, 4.0, 2.0, -0.0, -0.0, -0.0, 4.0, 2.0, 4.0, -0.0, -0.0, -0.0, -0.0, 4.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 4.0, -0.0, -0.0, 2.0, -0.0, -0.0, -0.0, -0.0, -0.0]

如何将此列表转换为每个 n 数的矩阵。假设设置 n=10,矩阵或数组应该如下所示:

预期输出示例

干杯,

标签: python

解决方案


这应该可以完成这项工作。不过,这会创建一个列表列表。

step_size = 10
steps = range(0, len(Y), step_size)

y = [Y[step:step + step_size] for step in steps]

如果你想要一个数组:

import numpy as np

n = 10

y = np.array(Y).reshape(-1, n)

产量:

[[-0. -0. -0. -0. -0. -0.  4.  4. -0.  2.]
 [-0. -0.  4. -0. -0. -0. -0. -0.  4.  2.]
 [-0. -0. -0.  4.  2.  4. -0. -0. -0. -0.]
 [ 4. -0. -0. -0. -0. -0. -0. -0. -0. -0.]
 [-0.  4. -0. -0.  2. -0. -0. -0. -0. -0.]]

推荐阅读