您可以考虑重塑新形状,从展平的原始列表/数组中逐行填充(最后一个维度变化最快)。
如果您想按列填充数组,一个简单的解决方案是将列表整形为具有相反维度的数组,然后转置它:
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]])