Comment définir la première ligne comme en-tête dans Pandas



Vous pouvez utiliser la syntaxe de base suivante pour définir la première ligne d’un DataFrame pandas comme en-tête :

df.columns = df.iloc[0]
df = df[1:]

L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.

Exemple : définir la première ligne comme en-tête dans Pandas

Supposons que nous ayons le DataFrame pandas suivant qui contient des informations sur divers joueurs de basket-ball :

import pandas as pd

#create DataFrame
df = pd.DataFrame({'Bad Name 1': ['team', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   'Bad Name 2': ['points', 18, 22, 19, 14, 14, 11, 20, 28],
                   'Bad Name 3': ['assists', 5, 7, 7, 9, 12, 9, 9, 4],
                   'Bad Name 4': ['rebounds', 11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
print(df)

  Bad Name 1 Bad Name 2 Bad Name 3 Bad Name 4
0       team     points    assists   rebounds
1          A         18          5         11
2          B         22          7          8
3          C         19          7         10
4          D         14          9          6
5          E         14         12          6
6          F         11          9          5
7          G         20          9          9
8          H         28          4         12

Supposons que la première ligne contienne les valeurs que nous souhaitons réellement utiliser dans l’en-tête.

Pour définir la première ligne comme en-tête, nous pouvons utiliser la syntaxe suivante :

#set column names equal to values in row index position 0
df.columns = df.iloc[0]

#remove first row from DataFrame
df = df[1:]

#view updated DataFrame
print(df)

0 team points assists rebounds
1    A     18       5       11
2    B     22       7        8
3    C     19       7       10
4    D     14       9        6
5    E     14      12        6
6    F     11       9        5
7    G     20       9        9
8    H     28       4       12

Notez que les valeurs de la première ligne sont désormais utilisées comme en-tête.

Si vous souhaitez réinitialiser l’index du DataFrame, utilisez le code suivant :

#reset index values
df.reset_index(drop=True, inplace=True)

#view updated DataFrame
print(df)

0 team points assists rebounds
0    A     18       5       11
1    B     22       7        8
2    C     19       7       10
3    D     14       9        6
4    E     14      12        6
5    F     11       9        5
6    G     20       9        9
7    H     28       4       12

L’index est maintenant réinitialisé afin que la première ligne ait une valeur d’index de 0 .

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans les pandas :

Comment sélectionner des colonnes par nom dans Pandas
Comment sélectionner des colonnes par index dans Pandas
Comment sélectionner des colonnes contenant une chaîne spécifique dans Pandas

Ajouter un commentaire

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