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 tuple
s 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.