Obtenir les valeurs d'index de ligne de Pandas DataFrame en tant que liste?
J'utilise probablement des termes de recherche pauvres en essayant de trouver cette réponse. En ce moment, avant d'indexer un DataFrame, je reçois une liste de valeurs dans une colonne de cette façon...
list = list(df['column'])
...ensuite, je vais set_index sur la colonne. Cela semble être une étape gaspillée. En essayant ce qui précède sur un index, j'obtiens une erreur de clé.
Comment puis-je récupérer les valeurs dans un index (simples et multiples) et les mettre dans une liste ou une liste de tuples?
2 réponses
Pour obtenir le index valeurs list/list de tuples 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
Si vous les faites passer manuellement dans df.set_index(), c'est inutile. Juste faire directement df.set_index['your_col_name', drop=False], déjà.
Il est très rare chez les pandas que vous ayez besoin d'obtenir un index en tant que liste Python (à moins que vous ne fassiez quelque chose d'assez funky, ou bien que vous ne les renvoyiez à NumPy), donc si vous le faites beaucoup, c'est une odeur de code que vous faites quelque chose de mal.