Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import pandas as pd
- import numpy as np
- import matplotlib.pyplot as plt
- data = pd.read_csv("Athlete Rank Moments.csv", encoding = "latin-1", usecols = [0, 2, 4, 5, 16],
- parse_dates = True, infer_datetime_format = True)
- data_filtered = data.loc[:, ['Person/Team', 'Rank', 'Discipline', 'RankDate', 'Rating']]
- data_ordered = data_filtered.sort_values(["Person/Team", "RankDate"], ascending=[True, True])
- data_ordered['Percent Change'] = data_ordered.groupby(['Person/Team', 'Discipline'])['Rating'].pct_change()
- data_ordered["Percent Change"] = data_ordered["Percent Change"].apply(lambda x: x * 100)
- data_ordered.rename(columns= {"Person/Team": "Person"}, inplace = True)
- data_ordered["RankDate"] = pd.to_datetime(data_ordered["RankDate"], errors="coerce")
- #data_ordered["Percent Change"] = pd.to_numeric(data_ordered["Percent Change"])
- '''
- for person, person_df in data_ordered.groupby("Person"):
- person_df["RankDate"] = pd.to_datetime(person_df["RankDate"], errors = "coerce")
- plt.plot(person_df["RankDate"], person_df["Percent Change"], color = "blue")
- plt.title("Percent change in ranking")
- for event, event_df in person_df.groupby("Discipline"):
- event_df["RankDate"] = pd.to_datetime(event_df["RankDate"], errors = "coerce")
- plt.plot(event_df["RankDate"], event_df["Percent Change"], color = "red")
- plt.savefig("test.png", bbox_inches = "tight")
- '''
- for person, person_df in data_ordered.groupby("Person"):
- plt.figure()
- plt.title("Percent change in rating")
- for event, event_df in person_df.groupby("Discipline"):
- person_df = person_df.sort_values("RankDate")
- event_df = event_df.sort_values("RankDate", ascending = True)
- plt.plot(event_df["RankDate"], event_df["Percent Change"], color = "red")
- plt.plot(person_df["RankDate"], person_df["Percent Change"], color = "blue")
- try:
- plt.savefig("%s.png" % person, bbox_inches = "tight")
- except FileNotFoundError:
- print("%s" % person + "is not a valid file name")
- except ValueError:
- print("An unknown error occurred")
- plt.close("all")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement