J'utilise probablement des termes de recherche médiocres lorsque j'essaie de trouver cette réponse. Pour le moment, 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. En essayant ce qui précède sur un index, j'obtiens une erreur clé.
Comment puis-je récupérer les valeurs dans un index (simple et multiple) et les mettre dans une liste ou une liste de n-uplets?
Pour obtenir les valeurs index
en tant que list
/list
de Tuple
s pour Index
/MultiIndex
, procédez comme suit:
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 ne faites que passer ces éléments manuellement dans df.set_index()
, c'est inutile. Juste directement faire df.set_index['your_col_name', drop=False]
, déjà.
Il est très rare dans les pandas que vous ayez besoin d'un index sous forme de liste Python (à moins que vous ne fassiez quelque chose d'assez funky ou que vous le renvoyiez à NumPy), donc si vous le faites souvent, c'est une odeur de code qui vous faites quelque chose de mal.