Data Wrangling

Maîtriser les index Pandas : Conversion entre index et colonnes

Spread the love

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 :

  1. Ajouter l’index comme nouvelle colonne
  2. Renommer la colonne d’index après conversion
  3. Convertir une colonne en index
  4. 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.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *