在python中将二维数组插入到另一个二维数组中

在python中将二维数组插入到另一个二维数组中,python,arrays,numpy,insert,Python,Arrays,Numpy,Insert,我想将一个大小为508x12的numpy数组a插入另一个大小为508x13的numpy数组B,从而生成一个大小为508x25的数组。但问题是,我不只是想把它们连接起来,而是在一个特定的列位置c插入数组。 我该怎么做?我试过: C = np.insert(B, c, A, axis=1) 就像@brezniczky建议的那样拆分连接。或者,使用hstack: import numpy as np a = np.ones((508,12)) b = np.zeros((508,13)) c

我想将一个大小为508x12的numpy数组a插入另一个大小为508x13的numpy数组B,从而生成一个大小为508x25的数组。但问题是,我不只是想把它们连接起来,而是在一个特定的列位置c插入数组。

我该怎么做?我试过:

C = np.insert(B, c, A, axis=1)

就像@brezniczky建议的那样拆分连接。或者,使用hstack:

import numpy as np


a = np.ones((508,12))
b = np.zeros((508,13))

col = 3

final = np.hstack((b[:,0:col],a,b[:,col:])) 

print(final[0])
[0.0.0.1.1.1.1.1.1.1.1.1.1.1.1.1.0.0.0.0.0.0.0.0。 0。]


在这个场景中,hstack和axis=1的连接是相同的,我只是更喜欢hstack以获得更好的可读性

Hello!我不太确定insert()是否可以实现这一点,也许有人会给出更好的答案。但同时,我建议您可以相对安全地使用类似于
C=np.concatenate([B[:,0:C],A,B[:,C:],axis=1)
,如果这样有帮助的话。我希望我得到了正确的尺寸。