Comment échanger deux colonnes dans Pandas (avec exemple)



Vous pouvez utiliser la fonction personnalisée suivante pour échanger la position de deux colonnes dans un DataFrame pandas :

def swap_columns(df, col1, col2):
    col_list = list(df.columns)
    x, y = col_list.index(col1), col_list.index(col2)
    col_list[y], col_list[x] = col_list[x], col_list[y]
    df = df[col_list]
    return df

Cette fonction échangera les positions des colonnes col1 et col2 dans le DataFrame.

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

Exemple : échanger deux colonnes dans Pandas

Supposons que nous ayons le DataFrame pandas suivant :

import pandas as pd

#create DataFrame
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]})

#view DataFrame
print(df)

  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

On peut définir une fonction swap_columns() pour permuter les positions des colonnes « points » et « rebonds » :

#define function to swap columns
def swap_columns(df, col1, col2):
    col_list = list(df.columns)
    x, y = col_list.index(col1), col_list.index(col2)
    col_list[y], col_list[x] = col_list[x], col_list[y]
    df = df[col_list]
    return df

#swap points and rebounds columns
df = swap_columns(df, 'points', 'rebounds'):

#view updated DataFrame
print(df)

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

Notez que les colonnes « points » et « rebonds » ont été interverties tandis qu’une colonne sur deux est restée à la même position.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans les pandas :

Pandas : comment compter les occurrences de valeur spécifique dans une colonne
Pandas : obtenir l’index des lignes dont la colonne correspond à la valeur
Pandas : Comment compter les valeurs manquantes dans DataFrame

Ajouter un commentaire

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