Reshaping Data with pandas
Maria Eugenia Inzaugarat
Data Scientist
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
fifa.pivot(index='name' )
fifa.pivot(index='name', columns='variable' )
fifa.pivot(index='name', columns='variable', values='metric_system')
variable height weight
name
Cristiano Ronaldo 187 83
J. Oblak 188 87
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
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
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
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 <--
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
Reshaping Data with pandas