Les DataFrames Pandas sont un élément fondamental de la manipulation de données en Python. Leurs index contiennent souvent des informations cruciales que vous pourriez vouloir intégrer en tant que colonnes. Cet article détaille diverses techniques pour convertir l’index d’un DataFrame en colonne, et vice-versa.
Table des matières :
- Ajouter l’index comme nouvelle colonne
- Renommer la colonne d’index après conversion
- Convertir une colonne en index
- Travailler avec des structures MultiIndex
1. Ajouter l’index comme nouvelle colonne
La méthode la plus simple utilise l’attribut .index
:
import pandas as pd
data = {'col1': [1, 2, 3], 'col2': [4, 5, 6]}
df = pd.DataFrame(data)
df['index_col'] = df.index
print(df)
Cela affecte directement les valeurs de l’index à une nouvelle colonne nommée ‘index_col’.
2. Renommer la colonne d’index après conversion
La méthode reset_index()
transforme l’index en colonne, par défaut ‘index’. Utilisez rename_axis()
pour un nom personnalisé :
import pandas as pd
data = {'col1': [1, 2, 3], 'col2': [4, 5, 6]}
df = pd.DataFrame(data)
df = df.rename_axis('original_index').reset_index()
print(df)
Cela renomme la colonne d’index résultante en ‘original_index’.
3. Convertir une colonne en index
Pour effectuer l’opération inverse, utilisez set_index()
:
import pandas as pd
data = {'index_col': [0, 1, 2], 'col1': [1, 2, 3], 'col2': [4, 5, 6]}
df = pd.DataFrame(data)
df = df.set_index('index_col')
print(df)
Cela définit ‘index_col’ comme nouveau index du DataFrame.
4. Travailler avec des structures MultiIndex
Pour des scénarios plus complexes impliquant plusieurs niveaux d’index, un MultiIndex est bénéfique. Créons un MultiIndex à partir de colonnes existantes, puis réinitialisons-le pour ajouter les niveaux comme colonnes :
import pandas as pd
data = {'level1': ['A', 'A', 'B', 'B'], 'level2': ['X', 'Y', 'X', 'Y'], 'value': [1, 2, 3, 4]}
df = pd.DataFrame(data)
df = df.set_index(['level1', 'level2']).reset_index()
print(df)
Cela crée puis convertit un MultiIndex en colonnes distinctes.
Ces techniques offrent une polyvalence dans la gestion des index de DataFrame, permettant une intégration transparente des informations d’index en tant que colonnes, ou vice-versa, adaptées à vos besoins spécifiques d’analyse de données.