2016-08-10 50 views
13

我有這樣的簡化數據框:如何遞增的數字添加新的一列使用熊貓

ID Fruit 
F1 Apple 
F2 Orange 
F3 Banana 

我想在數據幀具有數880新列df['New_ID']的開頭添加一個增量在每一行中。

輸出應簡單地想:

New_ID ID Fruit 
880  F1 Apple 
881  F2 Orange 
882  F3 Banana 

我試過如下:

df['New_ID'] = ["880"] # but I want to do this without assigning it the list of numbers literally 

不知道如何解決這個問題?

謝謝!

回答

7

這裏:

df = df.reset_index() 
df.columns[0] = 'New_ID' 
df['New_ID'] = df.index + 880 
+0

的最佳解決方案,但它不插入數據幀的開始'New_ID'列。 – MEhsan

+1

好的,編輯答案。 – Kartik

+2

或者做piRSquared說的,他的回答更好。我應該想到這一點,但是當你問你的問題時,我正在操縱索引,我想我坐在凹槽裏。 – Kartik

26
df.insert(0, 'New_ID', range(880, 880 + len(df))) 
df 

enter image description here

8
df = df.assign(New_ID=[880 + i for i in xrange(len(df))])[['New_ID'] + df.columns.tolist()] 

>>> df 
    New_ID ID Fruit 
0  880 F1 Apple 
1  881 F2 Orange 
2  882 F3 Banana