Reformater avec la méthode pivot

Reconfigurer les données avec pandas

Maria Eugenia Inzaugarat

Data Scientist

Du format long au format large

  • Mettre en évidence la relation entre deux colonnes
  • Opérations de séries temporelles avec les variables
  • Opérations exigeant des colonnes comme variables uniques
1 https://pandas.pydata.org/docs/user_guide/reshaping.html
Reconfigurer les données avec pandas

Du format long au format large

DataFrame au format long

Reconfigurer les données avec pandas

Méthode pivot

Flèche allant d'un format long à un format large

 

appel de la méthode pandas pivot

Reconfigurer les données avec pandas

Méthode pivot

Flèche allant d'un format long à un format large

 

Appel de pivot avec des arguments

Reconfigurer les données avec pandas

Méthode pivot

DataFrames long et large avec colonne et index surlignés

 

Argument index surligné avec nom de colonne

Reconfigurer les données avec pandas

Méthode pivot

DataFrames long et large avec colonne et noms de colonnes surlignés

 

Argument columns surligné avec nom de colonne

Reconfigurer les données avec pandas

Méthode pivot

DataFrames long et large avec colonne et valeurs surlignées

 

Argument values surligné avec nom de colonne

Reconfigurer les données avec pandas

Méthode pivot

Valeur de cellule NaN surlignée

 

Arguments surlignés avec noms de colonnes

Reconfigurer les données avec pandas

Pivoter un jeu de données

fifa = pd.read_csv('fifa_players.csv')
fifa.head()
                 name    variable  metric_system  imperial_system
0   Cristiano Ronaldo      weight             83           183.00
1            J. Oblak      weight             87           191.00
2   Cristiano Ronaldo      height            187             6.13
3     J. Oblak             height            188             6.16
Reconfigurer les données avec pandas

Pivoter un jeu de données

fifa.pivot(index='name'                                            )
Reconfigurer les données avec pandas

Pivoter un jeu de données

fifa.pivot(index='name', columns='variable'                        )
Reconfigurer les données avec pandas

Pivoter un jeu de données

fifa.pivot(index='name', columns='variable', values='metric_system')
         variable  height   weight
             name        
Cristiano Ronaldo     187       83
         J. Oblak     188       87
Reconfigurer les données avec pandas

Pivoter plusieurs colonnes

fifa.pivot(index='name', columns='variable', values=['metric_system', 'imperial_system'])
                     metric_system     imperial_system       
         variable   height  weight     height   weight
             name                                                         
Cristiano Ronaldo      187      83       6.13    183.0
         J. Oblak      188      87       6.16    191.0
Reconfigurer les données avec pandas

Pivoter plusieurs colonnes

 

Flèche allant d'un format long à un format large avec index de colonnes hiérarchique

 

Arguments index et columns surlignés avec noms de colonnes

Reconfigurer les données avec pandas

Pivoter plusieurs colonnes

fifa.pivot(index="name", columns="variable")
                     metric_system     imperial_system       
         variable   height  weight     height   weight
             name                                                         
Cristiano Ronaldo      187      83       6.13    183.0
         J. Oblak      188      87       6.16    191.0
Reconfigurer les données avec pandas

Erreur : doublons dans les entrées

another_fifa.head()
                 name    variable  metric_system  imperial_system
0   Cristiano Ronaldo      weight             83           183.00
1            J. Oblak      weight             87           191.00
2   Cristiano Ronaldo      height            187             6.13
3            J. Oblak      height            188             6.16
4   Cristiano Ronaldo      height            187             6.14
Reconfigurer les données avec pandas

Erreur : doublons dans les entrées

another_fifa.head()
                 name    variable  metric_system  imperial_system
0   Cristiano Ronaldo      weight             83           183.00
1            J. Oblak      weight             87           191.00
  2   Cristiano Ronaldo      height            187             6.13 <--
3            J. Oblak      height            188             6.16
  4   Cristiano Ronaldo      height            187             6.14 <--
Reconfigurer les données avec pandas

Erreur : doublons dans les entrées

another_fifa.pivot(index="name", columns="variable")
ValueError: Index contains duplicate entries, cannot reshape

 

another_fifa = another_fifa.drop(4, axis=0)
another_fifa.pivot(index="name", columns="variable")
                     metric_system     imperial_system       
         variable   height  weight     height   weight
             name                                                         
Cristiano Ronaldo      187      83       6.13    183.0
         J. Oblak      188      87       6.16    191.0
Reconfigurer les données avec pandas

Passons à la pratique !

Reconfigurer les données avec pandas

Preparing Video For Download...