web-dev-qa-db-fra.com

Comment ajouter des numéros incrémentiels à une nouvelle colonne à l'aide de Pandas

J'ai ce dataframe simplifié:

ID   Fruit
F1   Apple
F2   Orange
F3   Banana 

Je veux ajouter au début du cadre de données une nouvelle colonne df['New_ID'] qui porte le numéro 880 qui s'incrémente de un dans chaque ligne.

La sortie devrait être simplement comme:

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

J'ai essayé ce qui suit:

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

Aucune idée sur la façon de résoudre ça?

Merci!

41
MEhsan

Ici:

df = df.reset_index()
df.columns[0] = 'New_ID'
df['New_ID'] = df.index + 880
27
Kartik
df.insert(0, 'New_ID', range(880, 880 + len(df)))
df

enter image description here

85
piRSquared
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
9
Alexander

Vous pouvez également simplement définir votre colonne pandas en tant que liste de valeurs id de longueur identique à celle de dataframe.

df['New_ID'] = range(880, 880+len(df))

Documents de référence: https://pandas.pydata.org/pandas-docs/stable/missing_data.html

5
naman