簡體   English   中英

在numpy的2D數組中的特定位置插入一列?

[英]Inserting a column at specific location in 2D array in numpy?

我有一個二維的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:]))

但是在我看來,使用pandas數據框而不是numpy數組將是更好的選擇...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM