Python 在numpy二维数组中的特定位置插入列?

Python 在numpy二维数组中的特定位置插入列?,python,arrays,numpy,insertion,Python,Arrays,Numpy,Insertion,我有一个2D numpy数组,需要在第一列之前添加一列作为id 我的数组是: x = [['8' '4' 'M' '55' '7' 'S' '7' '2'] ['36' '4' 'F' '58' '1' 'M' '7' '7'] ['33' '3' 'M' '34' '4' 'M' '2' '3'] ['43' '1' 'F' '64' '4' 'M' '7' '68'] ['1' '2' 'M' '87' '4' 'M' '7' '1']] 我要添加的列是y=['1''2''3''4

我有一个2D numpy数组,需要在第一列之前添加一列作为id

我的数组是:

x = [['8' '4' 'M' '55' '7' 'S' '7' '2']
 ['36' '4' 'F' '58' '1' 'M' '7' '7']
 ['33' '3' 'M' '34' '4' 'M' '2' '3']
 ['43' '1' 'F' '64' '4' 'M' '7' '68']
 ['1' '2' 'M' '87' '4' 'M' '7' '1']]
我要添加的列是
y=['1''2''3''4''5']

目标输出为:

z = [['1' '8' '4' 'M' '55' '7' 'S' '7' '2']
 ['2' '36' '4' 'F' '58' '1' 'M' '7' '7']
 ['3' '33' '3' 'M' '34' '4' 'M' '2' '3']
 ['4' '43' '1' 'F' '64' '4' 'M' '7' '68']
 ['5' '1' '2' 'M' '87' '4' 'M' '7' '1']]

我有什么办法可以做吗?(我可以找到插入行而不是列的解决方案)

定义新列:

col = np.array(['1','2','3','4','5'])
col.shape = (5,1)
并将其插入开头:

target = np.hstack((col, x))
要在任何给定位置插入
i
,您可以这样做:

target = np.hstack((x[:,:i], col, x[:,i:]))
但在我看来,使用熊猫数据帧而不是numpy数组将是一个更好的选择…

此外,
np.concatenate((col,x),axis=1)