Définir les colonnes comme un index dans Pandas DataFrame

Manav Narula 30 janvier 2023
  1. Utilisation de set_index() pour faire de la colonne l’index dans les Pandas DataFrame
  2. Utiliser le paramètre index_col dans read_excel ou read_csv pour définir une colonne comme index dans Pandas DataFrame
Définir les colonnes comme un index dans Pandas DataFrame

Habituellement, dans une Pandas Dataframe, nous avons des numéros de série allant de 0 à la longueur de l’objet comme index par défaut. Nous pouvons également faire d’une colonne spécifique d’une dataframe son index. Pour cela, nous pouvons utiliser la fonction set_index() fournie dans Pandas, et nous pouvons également spécifier l’index de la colonne lors de l’importation d’une dataframe à partir d’un fichier Excel ou CSV.

Utilisation de set_index() pour faire de la colonne l’index dans les Pandas DataFrame

set_index() peut être appliqué à des listes, des séries, ou des cadres de données pour modifier leur index. Pour les Dataframes, set_index() peut aussi faire de multiples colonnes comme leur index.

Exemple :

import pandas as pd
import numpy as np

colnames = ["Name", "Time", "Course"]
df = pd.DataFrame(
    [["Jay", 10, "B.Tech"], ["Raj", 12, "BBA"], ["Jack", 11, "B.Sc"]], columns=colnames
)

print(df)

Production :

   Name  Time  Course
0   Jay    10  B.Tech
1   Raj    12     BBA
2  Jack    11    B.Sc

La syntaxe pour faire des colonnes en tant qu’index :

dataframe.set_index(Column_name, inplace=True)

Créer une seule colonne comme index en utilisant set_index() :

import pandas as pd
import numpy as np

colnames = ["Name", "Time", "Course"]
df = pd.DataFrame(
    [["Jay", 10, "B.Tech"], ["Raj", 12, "BBA"], ["Jack", 11, "B.Sc"]], columns=colnames
)

df.set_index("Name", inplace=True)

print(df)

Production :

      Time  Course
Name              
Jay     10  B.Tech
Raj     12     BBA
Jack    11    B.Sc

Faire plusieurs colonnes comme index :

import pandas as pd
import numpy as np

colnames = ["Name", "Time", "Course"]
df = pd.DataFrame(
    [["Jay", 10, "B.Tech"], ["Raj", 12, "BBA"], ["Jack", 11, "B.Sc"]], columns=colnames
)

df.set_index(["Name", "Course"], inplace=True)

print(df)

Production :

             Time
Name Course      
Jay  B.Tech    10
Raj  BBA       12
Jack B.Sc      11

Utiliser le paramètre index_col dans read_excel ou read_csv pour définir une colonne comme index dans Pandas DataFrame

Lors de la lecture d’une DataFrame à partir d’un fichier Excel ou CSV, nous pouvons spécifier la colonne que nous voulons comme index du DataFrame.

Exemple :

import pandas as pd
import numpy as np

df = pd.read_excel("data.xlsx", index_col=2)
print(df)

Production :

        Name  Time
Course            
B.Tech  Mark    12
BBA     Jack    10
B.Sc     Jay    11
Auteur: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Article connexe - Pandas DataFrame