こんにちは、長さ2800のフラットリストがあり、28個の変数ごとに100個の結果が含まれています。以下は、2変数の4個の結果の例です。
[0,
0,
1,
1,
2,
2,
3,
3]
リストを配列(2,4)に変更して、各変数の結果が単一の要素になるようにします。
[[0,1,2,3],
[0,1,2,3]]
以下は同じ順序で値を示していますが、これは正しくありません:
np.shape = (2,4)
例えば。
[[0,0,0,0]
[1,1,1,1]]
フラット化された元のリスト/配列から新しいシェイプが行ごとに塗りつぶされる(最後の次元が最も速く変化する)ことを考え直すことができます。
簡単な解決策は、リストを(100、28)配列に整形してから転置することです:
x = np.reshape(list_data, (100, 28)).T
更新された例に関する更新:
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]])