Comment découper des colonnes dans Pandas DataFrame (avec exemples)



Vous pouvez utiliser les méthodes suivantes pour découper les colonnes dans un DataFrame pandas :

Méthode 1 : découper par noms de colonnes spécifiques

df_new = df.loc[:, ['col1', 'col4']]

Méthode 2 : découper par noms de colonnes dans la plage

df_new = df.loc[:, 'col1':'col4']

Méthode 3 : couper par positions d’index de colonne spécifiques

df_new = df.iloc[:, [0, 3]]

Méthode 4 : tranche par plage de positions d’index de colonne

df_new = df.iloc[:, 0:3]

Notez la différence subtile entre loc et iloc dans chacune de ces méthodes :

  • loc sélectionne les lignes et les colonnes avec des étiquettes spécifiques
  • iloc sélectionne les lignes et les colonnes à des positions entières spécifiques

Les exemples suivants montrent comment utiliser chaque méthode en pratique avec le DataFrame pandas suivant :

import pandas as pd

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

#view DataFrame
print(df)

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

Exemple 1 : couper par noms de colonnes spécifiques

Nous pouvons utiliser la syntaxe suivante pour créer un nouveau DataFrame qui contient uniquement les colonnes team et rebonds :

#slice columns team and rebounds
df_new = df.loc[:, ['team', 'rebounds']]

#view new DataFrame
print(df_new)

  team  rebounds
0    A        11
1    B         8
2    C        10
3    D         6
4    E         6
5    F         5
6    G         9
7    H        12

Exemple 2 : couper par noms de colonnes dans la plage

Nous pouvons utiliser la syntaxe suivante pour créer un nouveau DataFrame qui contient uniquement les colonnes comprises entre team et rebonds :

#slice columns between team and rebounds
df_new = df.loc[:, 'team':'rebounds']

#view new DataFrame
print(df_new)

  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

Exemple 3 : couper par positions d’index de colonne spécifiques

Nous pouvons utiliser la syntaxe suivante pour créer un nouveau DataFrame qui contient uniquement les colonnes aux positions d’index 0 et 3 :

#slice columns in index positions 0 and 3
df_new = df.iloc[:, [0, 3]]

#view new DataFrame
print(df_new)

  team  rebounds
0    A        11
1    B         8
2    C        10
3    D         6
4    E         6
5    F         5
6    G         9
7    H        12

Exemple 4 : Plage de positions d’index de tranche par colonne

Nous pouvons utiliser la syntaxe suivante pour créer un nouveau DataFrame qui contient uniquement les colonnes dans la plage de positions d’index entre 0 et 3 :

#slice columns in index position range between 0 and 3
df_new = df.iloc[:, 0:3]

#view new DataFrame
print(df_new)

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

Remarque : lors de l’utilisation d’une plage de positions d’index, la dernière position d’index de la plage ne sera pas incluse. Par exemple, la colonne des rebonds en position d’index 3 n’est pas incluse dans le nouveau DataFrame.

Ressources additionnelles

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

Comment supprimer la première ligne dans Pandas DataFrame
Comment supprimer la première colonne dans Pandas DataFrame
Comment supprimer les colonnes en double dans Pandas

Ajouter un commentaire

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