122 votes

Obtenir les valeurs d'index de ligne du DataFrame Pandas sous forme de liste ?

J'utilise probablement de mauvais termes de recherche pour trouver cette réponse. Actuellement, avant d'indexer un DataFrame, j'obtiens une liste de valeurs dans une colonne de cette façon...

 list = list(df['column']) 

...alors je vais set_index sur la colonne. Cela semble être une étape perdue. Lorsque j'essaie la procédure ci-dessus sur un index, j'obtiens une erreur de clé.

Comment puis-je récupérer les valeurs d'un index (unique ou multiple) et les placer dans une liste ou une liste de tuples ?

239voto

Phillip Cloud Points 6685

Pour obtenir le index en tant que list / list de tuple pour Index / MultiIndex faire :

df.index.values.tolist()  # an ndarray method, you probably shouldn't depend on this

ou

list(df.index.values)  # this will always work in pandas

2voto

smci Points 2818

Si vous n'obtenez que ces derniers pour passer manuellement en df.set_index() c'est inutile. Faites directement df.set_index['your_col_name', drop=False] déjà.

Il est très rare dans pandas que vous ayez besoin d'obtenir un index sous forme de liste Python (à moins que vous ne fassiez quelque chose d'assez funky, ou que vous les renvoyiez à NumPy), donc si vous le faites souvent, c'est un signe que vous faites quelque chose de mal.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X