我想使用numpy作为bellow
合并两个(或更多(数组a=
[[1 3]
[5 7]
[9 11]
[13 15]]
b=
[[2 4]
[6 8]
[10 12]
[14 16]]
进入
Result=
[[1 2]
[3 4]
[5 6]
[7 8]
[9 10]
[11 12]
[13 14]
[15 16]]
我诚实地搜索了整个网络并测试了所有Numpy家族,如果您给我一个线索,我会很感激。
看起来您想将两个数组中的元素交织在一起,无论嵌套如何。然后,您可以首先将它们拉开,然后拉链:
a=[[1, 3],[5, 7], [9, 11], [13, 15]]
b=[[2, 4],[6, 8],[10, 12],[14, 16]]
a_1d = np.ravel(a)
b_1d = np.ravel(b)
c = np.array(list(zip(a_1d,b_1d)))
print(c)
注意:此答案是针对问题的较旧编辑的。
对于小阵列,您应该首先将它们串联,然后执行标准重塑。
>>> a = [[1, 2, 3, 4], [5, 6, 7, 8]]
>>> b = [[9, 10, 11, 12], [13, 14, 15, 16]]
>>> a + b
[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]]
>>> result = np.reshape(a + b, (8, -1))
>>> print(result)
[[ 1 2]
[ 3 4]
[ 5 6]
[ 7 8]
[ 9 10]
[11 12]
[13 14]
[15 16]]
>>>
对于较大的
,创建一个numpy ndarrays应该更有效。同样,首先加入。
>>> a = np.array([[1, 2, 3, 4], [5, 6, 7, 8]])
>>> b = np.array([[9, 10, 11, 12], [13, 14, 15, 16]])
>>> result = np.reshape(np.concatenate([a, b]), (8, -1))
>>> print(result)
array([[ 1, 2],
[ 3, 4],
[ 5, 6],
[ 7, 8],
[ 9, 10],
[11, 12],
[13, 14],
[15, 16]])