Advertisement
Guest User

Untitled

a guest
Nov 20th, 2018
171
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.52 KB | None | 0 0
  1. import json
  2. import datetime
  3. import numpy as np
  4. import pandas as pd
  5. import matplotlib.pyplot as plt
  6. from collections import Counter, OrderedDict
  7.  
  8.  
  9. all_files = ['season-0910.csv',
  10.             'season-1011.csv',
  11.             'season-1112.csv',
  12.             'season-1213.csv',
  13.             'season-1314.csv',
  14.             'season-1415.csv',
  15.             'season-1516.csv',
  16.             'season-1617.csv',
  17.             'season-1718.csv',
  18.             'season-1819.csv']
  19.  
  20. year_list = [2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018]
  21. df = pd.concat((pd.read_csv("archive\\"+f) for f in all_files))
  22. df['Date'] = pd.to_datetime(df['Date'])
  23.  
  24. festive = []
  25. normal = []
  26. for year in year_list:
  27.     festive.append(df[(df['Date'] >= pd.to_datetime(datetime.date(year, 12, 1))) & (df['Date'] <= pd.to_datetime(datetime.date(year+1, 1, 31)))])
  28.     normal.append(df[(df['Date'] >= pd.to_datetime(datetime.date(year, 1, 31))) & (df['Date'] <= pd.to_datetime(datetime.date(year, 12, 1)))])
  29.     # ignoring before Christmas 2009 b/c cba
  30.  
  31. festive_df = pd.concat(games for games in festive)
  32. normal_df = pd.concat(games for games in normal)
  33.  
  34. def get_cs(df):
  35.  
  36.     clean_sheets = []
  37.     for _, row in df.iterrows():
  38.         if row['FTHG'] == 0:
  39.             clean_sheets.append(row['AwayTeam'])
  40.         if row['FTAG'] == 0:
  41.             clean_sheets.append(row['HomeTeam'])
  42.     return clean_sheets
  43.  
  44. festive_clean_sheets = get_cs(festive_df)
  45. normal_clean_sheets = get_cs(normal_df)
  46.  
  47. print("Festive CS: {}%".format((len(festive_clean_sheets) / festive_df.shape[0]) * 100 ))
  48. print("Normal CS: {}%".format((len(normal_clean_sheets) / normal_df.shape[0]) * 100 ))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement