Python将列表重塑为ndim数组

2024-02-22

您好,我有一个长度为 2800 的平面列表,它包含 28 个变量中每个变量的 100 个结果:下面是 2 个变量的 4 个结果的示例

[0,
 0,
 1,
 1,
 2,
 2,
 3,
 3]

我想将列表重塑为数组 (2,4),以便每个变量的结果都在单个元素中。

[[0,1,2,3],
 [0,1,2,3]]

您可以考虑重塑新形状,从展平的原始列表/数组中逐行填充(最后一个维度变化最快)。

如果您想按列填充数组,一个简单的解决方案是将列表整形为具有相反维度的数组,然后转置它:

x = np.reshape(list_data, (100, 28)).T

上面的代码片段生成一个 28x100 的数组,按列填充。

为了说明这一点,以下是将列表整形为 2x4 数组的两个选项:

np.reshape([0, 0, 1, 1, 2, 2, 3, 3], (4, 2)).T
# array([[0, 1, 2, 3],
#        [0, 1, 2, 3]])

np.reshape([0, 0, 1, 1, 2, 2, 3, 3], (2, 4))
# array([[0, 0, 1, 1],
#        [2, 2, 3, 3]])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python将列表重塑为ndim数组 的相关文章

随机推荐