Herschikken met pivot-methode

Data herstructureren met pandas

Maria Eugenia Inzaugarat

Data Scientist

Van long naar wide

  • Toon relatie tussen twee kolommen
  • Tijdreeksbewerkingen met de variabelen
  • Bewerkingen die unieke kolomwaarden vereisen
1 https://pandas.pydata.org/docs/user_guide/reshaping.html
Data herstructureren met pandas

Van long naar wide

DataFrame in long-formaat

Data herstructureren met pandas

Pivot-methode

Pijl van long naar wide

 

de pandas-pivot-aanroep

Data herstructureren met pandas

Pivot-methode

Pijl van long naar wide

 

De pivot-aanroep met argumenten

Data herstructureren met pandas

Pivot-methode

Lange en brede DataFrames met kolom en index gemarkeerd

 

Gemarkeerd index-argument met kolomnaam

Data herstructureren met pandas

Pivot-methode

Lange en brede DataFrames met kolom en kolomnamen gemarkeerd

 

Gemarkeerd columns-argument met kolomnaam

Data herstructureren met pandas

Pivot-methode

Lange en brede DataFrames met kolom en waarden gemarkeerd

 

Gemarkeerd values-argument met kolomnaam

Data herstructureren met pandas

Pivot-methode

Een cel met NaN gemarkeerd

 

Gemarkeerde arguments met kolomnamen

Data herstructureren met pandas

Een dataset pivotten

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
Data herstructureren met pandas

Een dataset pivotten

fifa.pivot(index='name'                                            )
Data herstructureren met pandas

Een dataset pivotten

fifa.pivot(index='name', columns='variable'                        )
Data herstructureren met pandas

Een dataset pivotten

fifa.pivot(index='name', columns='variable', values='metric_system')
         variable  height   weight
             name        
Cristiano Ronaldo     187       83
         J. Oblak     188       87
Data herstructureren met pandas

Meerdere kolommen pivotten

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
Data herstructureren met pandas

Meerdere kolommen pivotten

 

Pijl van long naar wide met hiërarchische kolomindex

 

Gemarkeerde index- en columns-argumenten met kolomnamen

Data herstructureren met pandas

Meerdere kolommen pivotten

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
Data herstructureren met pandas

Fout door dubbele records

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
Data herstructureren met pandas

Fout door dubbele records

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 <--
Data herstructureren met pandas

Fout door dubbele records

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
Data herstructureren met pandas

Laten we oefenen!

Data herstructureren met pandas

Preparing Video For Download...