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