import pandas as pd
import cufflinks as cf
cf.go_offline()
#olympics = pd.read_csv('./olympics.csv')
olympics = pd.read_csv('https://raw.githubusercontent.com/callysto/online-courses/master/CallystoAndDataScience/olympics.csv')
athletes_by_year = olympics.groupby(["Year"]).size().iplot(title='Number of Athletes per Year (Olympics)',yTitle='Number of Athletes',xTitle='Year')
olympics[olympics['Season']=='Winter'].groupby(["Year"]).size().iplot(title='Number of Athletes per Year (Winter Olympics)',yTitle='Number of Athletes',xTitle='Year')
medals = olympics.dropna(subset=["Medal"])
medals_winter = medals[medals["Season"]=="Winter"]
medals_winter.groupby('region').count().sort_values('Medal',ascending=False)['Medal'].head(20).iplot(kind='bar',title='Medals per Country (Winter Olympics, Top 20 Countries)',yTitle='Number of Medals')
canada_medals = medals[medals['region']=='Canada']
canada_medals.groupby('Sport').count().sort_values('Medal',ascending=False)['Medal'].iplot(kind='bar',title='Canadian Olympic Medals per Sport')
df_canada_medals = pd.DataFrame(canada_medals.groupby('Sport').count().sort_values('Medal',ascending=False)['Medal'])
df_canada_medals.rename(columns={'Medal':'Medals'}, inplace=True)
df_canada_medals
Medals
Sport
Ice Hockey 348
Rowing 203
Athletics 98
Swimming 98
Short Track Speed Skating 70
Football 49
Curling 48
Speed Skating 45
Figure Skating 43
Lacrosse 36
Canoeing 33
Synchronized Swimming 26
Sailing 25
Shooting 24
Cycling 23
Bobsleigh 18
Diving 18
Freestyle Skiing 18
Wrestling 17
Equestrianism 17
Boxing 17
Rugby Sevens 12
Alpine Skiing 11
Basketball 9
Trampolining 7
Snowboarding 7
Judo 5
Cross Country Skiing 4
Skeleton 4
Biathlon 3
Weightlifting 3
Beach Volleyball 2
Taekwondo 2
Tennis 2
Triathlon 2
Art Competitions 2
Golf 1
Rhythmic Gymnastics 1
Gymnastics 1
medals_per_athlete = pd.DataFrame(medals.groupby('Name').count().sort_values('Medal',ascending=False).head(20)['Medal'])
medals_per_athlete.merge(olympics[['Name','region']].drop_duplicates('Name'),on='Name').iplot(kind='barh',title='Number of Olympic Medals per Athlete (Top 20)',y='Medal',x='Name',xTitle='Number of Medals',text='region')