Comment changer l'ordre des colonnes de Pandas DataFrame

  1. Lister les colonnes dans le nouvel ordre souhaité dans les Pandas
  2. Insérer une nouvelle colonne avec l’emplacement spécifique dans Pandas
  3. colonne reindex pour un ordre donné dans Pandas

Nous allons introduire comment changer l’ordre des colonnes de la DataFrame, avec différentes méthodes comme l’attribution des noms de colonnes dans l’ordre que nous voulons, en utilisant insert et reindex.

Lister les colonnes dans le nouvel ordre souhaité dans les Pandas

La façon la plus simple est de réassigner la DataFrame avec une liste des colonnes, ou simplement d’assigner les noms de colonnes dans l’ordre que nous voulons:

# python 3.x
import pandas as pd
df = pd.DataFrame({'a':['1','2','3','4'], 
                   'b': [16,7,6,16],
                   'c':[61,57,16,36],
                   'd':['12','22','13','44'],
                   'e':['Green','Red','Blue','Yellow'],
                   'f':[1,11,23,66]})
print(df)
df = df[['e','c','b','f','d','a']]
print('Rearranging ..................')
print('..............................')
print(df)

Production:

   a   b   c   d       e   f
0  1  16  61  12   Green   1
1  2   7  57  22     Red  11
2  3   6  16  13    Blue  23
3  4  16  36  44  Yellow  66
Rearranging ..................
..............................
        e   c   b   f   d  a
0   Green  61  16   1  12  1
1     Red  57   7  11  22  2
2    Blue  16   6  23  13  3
3  Yellow  36  16  66  44  4

Insérer une nouvelle colonne avec l’emplacement spécifique dans Pandas

Si nous créons une nouvelle colonne, nous pouvons l’insérer à l’endroit que nous voulons:

Changer de vie
# python 3.x
import pandas as pd
df = pd.DataFrame({'a':['1','2','3','4'], 
                   'b': [16,7,6,16],
                   'c':[61,57,16,36],
                   'd':['12','22','13','44'],
                   'e':['Green','Red','Blue','Yellow'],
                   'f':[1,11,23,66]})
print(df)
print('Inserting ..................')
print('..............................')
df.insert(0, 'newColMean', df.mean(1))
print(df)

Production:

   newColMean  a   b   c   d       e   f
0   26.000000  1  16  61  12   Green   1
1   25.000000  2   7  57  22     Red  11
2   15.000000  3   6  16  13    Blue  23
3   39.333333  4  16  36  44  Yellow  66

colonne reindex pour un ordre donné dans Pandas

reindex est sans doute le moyen le plus efficace de réorganiser la colonne:

# python 3.x
import pandas as pd
df = pd.DataFrame({'a':['1','2','3','4'], 
                   'b': [16,7,6,16],
                   'c':[61,57,16,36],
                   'd':['12','22','13','44'],
                   'e':['Green','Red','Blue','Yellow'],
                   'f':[1,11,23,66]})
print(df)
print('Rearranging ..................')
print('..............................')
df = df.reindex(columns=['a','f','d','b','c','e'])
print(df)

Production:

   a   b   c   d       e   f
0  1  16  61  12   Green   1
1  2   7  57  22     Red  11
2  3   6  16  13    Blue  23
3  4  16  36  44  Yellow  66
Rearranging ..................
..............................
   a   f   d   b   c       e
0  1   1  12  16  61   Green
1  2  11  22   7  57     Red
2  3  23  13   6  16    Blue
3  4  66  44  16  36  Yellow

Article connexe - Pandas DataFrame

  • Comment obtenir les en-têtes de colonne de Pandas DataFrame sous forme de liste
  • Comment supprimer une colonne de Pandas DataFrame
  • Comment convertir la colonne DataFrame en date-heure dans Pandas
  • Comment convertir un float en un entier dans Pandas DataFrame
  • Article connexe - Pandas DataFrame Column

  • Comment obtenir les en-têtes de colonne de Pandas DataFrame sous forme de liste
  • Comment supprimer une colonne de Pandas DataFrame
  • Comment convertir la colonne DataFrame en date-heure dans Pandas
  • Comment convertir un float en un entier dans Pandas DataFrame