web-dev-qa-db-fra.com

Pandas (python): comment ajouter une colonne au cadre de données pour l'index?

L'index que j'ai dans le dataframe (avec 30 lignes) est de la forme:

Int64Index([171, 174,173, 172, 199..............
        ....175, 200])

L'index n'augmente pas strictement car la trame de données est la sortie d'une sorte (). Je veux avoir ajouter une colonne qui est la série:

[1, 2, 3, 4, 5......................., 30]

Comment dois-je procéder?

Merci.

23
Navneet

Que dis-tu de ça:

from pandas import *

idx = Int64Index([171, 174, 173])
df = DataFrame(index = idx, data =([1,2,3]))
print df

Ça me donne:

     0
171  1
174  2
173  3

Est-ce ce que vous recherchez?

12
nitin

Que diriez-vous:

df['new_col'] = range(1, len(df) + 1)

Alternativement, si vous souhaitez que l'index soit les rangs et stockez l'index d'origine sous forme de colonne:

df = df.reset_index()
68
Chang She

Je suis tombé sur cette question en essayant de faire la même chose (je pense). Voici comment je l'ai fait:

df['index_col'] = df.index

Vous pouvez ensuite trier sur la nouvelle colonne d'index, si vous le souhaitez.

53
user1225054