Ben*_*enP 14 python numpy reshape
嗨,我有一个长度为2800的列表平面,它包含28个变量中的每一个的100个结果:下面是2个变量的4个结果的示例
[0,
0,
1,
1,
2,
2,
3,
3]
Run Code Online (Sandbox Code Playgroud)
我想将列表重新整形为数组(2,4),以便每个变量的结果都在一个元素中.
[[0,1,2,3],
[0,1,2,3]]
Run Code Online (Sandbox Code Playgroud)
下面给出了相同顺序的值,但这不正确:
np.shape = (2,4)
Run Code Online (Sandbox Code Playgroud)
例如.
[[0,0,0,0]
[1,1,1,1]]
Run Code Online (Sandbox Code Playgroud)
kaz*_*ase 20
您可以考虑重新整形,从展平的原始列表/数组中逐行填充新形状(最后一个维度变化最快).
一个简单的解决方案是将列表整形为(100,28)数组,然后转置它:
x = np.reshape(list_data, (100, 28)).T
Run Code Online (Sandbox Code Playgroud)
有关更新示例的更新:
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]])
Run Code Online (Sandbox Code Playgroud)