重新塑造一个numpy数组,使列在原始行的下方换行

ggazkfy8  于 2023-05-22  发布在  其他
关注(0)|答案(2)|浏览(104)

请考虑以下场景:

a = np.array([[1,1,1,3,3,3], [2,2,2,4,4,4]])
np.reshape(a, (4, 3))

输出:

array([[1, 1, 1],
       [3, 3, 3],
       [2, 2, 2],
       [4, 4, 4]])

所需输出:

array([[1, 1, 1],
       [2, 2, 2],
       [3, 3, 3],
       [4, 4, 4]])

我如何重塑数组,使行保持成对在一起,溢出的列在现有行的下面?

dm7nw8vv

dm7nw8vv1#

正如我在评论中所描述的。您可以将其合并为一个语句:

import numpy as np
a = np.array([[1,1,1,3,3,3], [2,2,2,4,4,4]])

a1 = a[:,:3]
a2 = a[:,3:]
a3 = np.concatenate((a1,a2))
print(a3)

输出:

[[1 1 1]
 [2 2 2]
 [3 3 3]
 [4 4 4]]
fcipmucu

fcipmucu2#

还有一个选择:

import numpy as np

a = np.hstack(a.T.reshape(2,3,2)).T

print(a)

输出

array([[1, 1, 1],
       [2, 2, 2],
       [3, 3, 3],
       [4, 4, 4]])

相关问题