这是两个ndarray。
A=[[1,2,3],[4,5,6],[7,8,9]]
B=[[31,42,53],[11,17,29],[100,59,32]]
如何通过合并两个ndarray A和B来创建一个新的ndarray'C'?
C=[[1,2,3],[31,42,53],[4,5,6], [11,17,29],[7,8,9],[100,59,32]]
答案 0 :(得分:2)
使用array-initialization
来实现交织任务 -
def interweave(a, b):
N = a.shape[1]
M = a.shape[0] + b.shape[0]
out_dtype = np.result_type(a.dtype, b.dtype)
out = np.empty((M,N),dtype=out_dtype)
out[::2] = a
out[1::2] = b
return out
示例运行 -
In [274]: A
Out[274]:
array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
In [275]: B
Out[275]:
array([[ 31, 42, 53],
[ 11, 17, 29],
[100, 59, 32]])
In [276]: interweave(A, B)
Out[276]:
array([[ 1, 2, 3],
[ 31, 42, 53],
[ 4, 5, 6],
[ 11, 17, 29],
[ 7, 8, 9],
[100, 59, 32]])
如果A
和B
具有相同的形状,我们也可以堆叠和重塑 -
In [283]: np.hstack((A,B)).reshape(-1,A.shape[1])
Out[283]:
array([[ 1, 2, 3],
[ 31, 42, 53],
[ 4, 5, 6],
[ 11, 17, 29],
[ 7, 8, 9],
[100, 59, 32]])
或np.stack((A,B),axis=1).reshape(-1,A.shape[1])
。
答案 1 :(得分:0)
你可以使用numpy库。像这样:
import numpy as np
A=[[1,2,3],[4,5,6],[7,8,9]]
B=[[31,42,53],[11,17,29],[100,59,32]]
C= np.concatenate((A, B), axis=0)
在此链接中有关连接numpy的更多信息: https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.concatenate.html