In [15]:
%matplotlib inline

import pandas as pd
import matplotlib as mp
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches

qb_games = pd.read_csv('qb_games.csv')
#qb_games = qb_games.groupby(['Year'])
qb_games.head(10)


Out[15]:
Name Year Career Year Date Team Opp Result Pass Att Pass Cmp Pass Pct ... Pass Int Pass Lg Pass Sack Pass Rate Rush Att Rush Yds Rush Avg Rush Lg Rush TD Rush FD
0 feeley, aj 2002 2 11/25/02 Phi @ SF W, 38-17 3 3 100.0 ... 0 8 0/0 129.9 2 -3 -1.5 -1 0 0
1 feeley, aj 2002 2 12/01/02 Phi Stl W, 10-3 30 14 46.7 ... 0 41 3/24 66.1 2 3 1.5 4 0 0
2 feeley, aj 2002 2 12/08/02 Phi @ Sea W, 27-20 35 21 60.0 ... 1 22 0/0 81.8 3 0 0.0 1 0 0
3 feeley, aj 2002 2 12/15/02 Phi Was W, 34-21 28 16 57.1 ... 1 53 2/10 91.4 2 5 2.5 6 0 0
4 feeley, aj 2002 2 12/21/02 Phi @ Dal W, 27-3 33 19 57.6 ... 2 41 1/8 66.9 2 2 1.0 4 0 0
5 feeley, aj 2002 2 12/28/02 Phi @ NYG L, 10-7 25 13 52.0 ... 1 35 1/6 53.8 1 -1 -1.0 -1 0 0
6 feeley, aj 2001 1 01/06/02 Phi @ TB W, 17-13 14 10 71.4 ... 1 27 0/0 114.0 0 0 0.0 0 0 0
7 feeley, aj 2004 4 09/11/04 Mia Ten L, 17-7 31 21 67.7 ... 1 19 2/11 78.4 0 0 0.0 0 0 0
8 feeley, aj 2004 4 09/19/04 Mia @ Cin L, 16-13 39 21 53.8 ... 2 37 2/17 57.4 0 0 0.0 0 0 0
9 feeley, aj 2004 4 09/26/04 Mia Pit L, 13-3 27 13 48.1 ... 2 36 3/20 32.5 0 0 0.0 0 0 0

10 rows × 23 columns


In [30]:
qb_games['Fantasy Points'] = (qb_games['Pass Yds']/25) + (6 * qb_games['Pass TD']) - (2 * qb_games['Pass Int']) + (qb_games['Rush Yds'] /10) + (6 * qb_games['Rush TD'])
qb_fantasy = qb_games[['Name','Career Year', 'Year', 'Date', 'Pass Yds', 'Pass TD', 'Pass Int', 'Rush Yds', 'Rush TD', 'Fantasy Points']]
qb_fantasy_2016 = qb_fantasy.loc[qb_fantasy['Year'] == 2016]
ryan_2016 = qb_fantasy_2016.loc[qb_fantasy_2016['Name'] == 'ryan, matt']
print("done!")
print(type(ryan_2016))
ryan_2016


done!
<class 'pandas.core.frame.DataFrame'>
Out[30]:
Name Career Year Year Date Pass Yds Pass TD Pass Int Rush Yds Rush TD Fantasy Points
4192 ryan, matt 9 2016 09/11/16 334 2 0 0 0 25.36
4193 ryan, matt 9 2016 09/18/16 396 3 1 0 0 31.84
4194 ryan, matt 9 2016 09/26/16 240 2 0 0 0 21.60
4195 ryan, matt 9 2016 10/02/16 503 4 1 0 0 42.12
4196 ryan, matt 9 2016 10/09/16 267 1 0 0 0 16.68
4197 ryan, matt 9 2016 10/16/16 335 3 1 0 0 29.40
4198 ryan, matt 9 2016 10/23/16 273 1 1 0 0 14.92
4199 ryan, matt 9 2016 10/30/16 288 3 0 0 0 29.52
4200 ryan, matt 9 2016 11/03/16 344 4 0 0 0 37.76
4201 ryan, matt 9 2016 11/13/16 267 1 1 0 0 14.68
4202 ryan, matt 9 2016 11/27/16 269 2 1 0 0 20.76
4203 ryan, matt 9 2016 12/04/16 297 1 1 0 0 15.88
4204 ryan, matt 9 2016 12/11/16 237 3 0 0 0 27.48
4205 ryan, matt 9 2016 12/18/16 286 2 0 0 0 23.44
4206 ryan, matt 9 2016 12/24/16 277 2 0 0 0 23.08
4207 ryan, matt 9 2016 01/01/17 331 4 0 0 0 37.24
4208 ryan, matt 9 2016 01/14/17 338 3 0 0 0 31.52

In [31]:
ryan_2016 = ryan_2016.groupby(['Year', 'Career Year']).sum()
ryan_2016


Out[31]:
Pass Yds Pass TD Pass Int Rush Yds Rush TD Fantasy Points
Year Career Year
2016 9 5282 41 7 0 0 443.28

In [22]:
rodgers_2016 = qb_fantasy_2016.loc[qb_fantasy_2016['Name'] == 'rodgers, aaron']
print("done!")
rodgers_2016


done!
Out[22]:
Name Career Year Year Date Pass Yds Pass TD Pass Int Rush Yds Rush TD Fantasy Points
166 rodgers, aaron 12 2016 09/11/16 199 2 0 0 0 19.96
167 rodgers, aaron 12 2016 09/18/16 213 1 1 0 0 12.52
168 rodgers, aaron 12 2016 09/25/16 205 4 0 0 0 32.20
169 rodgers, aaron 12 2016 10/09/16 259 2 2 0 0 18.36
170 rodgers, aaron 12 2016 10/16/16 294 1 1 0 0 15.76
171 rodgers, aaron 12 2016 10/20/16 326 3 0 0 0 31.04
172 rodgers, aaron 12 2016 10/30/16 246 4 0 0 0 33.84
173 rodgers, aaron 12 2016 11/06/16 297 3 1 0 0 27.88
174 rodgers, aaron 12 2016 11/13/16 371 2 2 0 0 22.84
175 rodgers, aaron 12 2016 11/20/16 351 3 0 0 0 32.04
176 rodgers, aaron 12 2016 11/28/16 313 2 0 0 0 24.52
177 rodgers, aaron 12 2016 12/04/16 209 2 0 0 0 20.36
178 rodgers, aaron 12 2016 12/11/16 246 3 0 0 0 27.84
179 rodgers, aaron 12 2016 12/18/16 252 0 0 0 0 10.08
180 rodgers, aaron 12 2016 12/24/16 347 4 0 0 0 37.88
181 rodgers, aaron 12 2016 01/01/17 300 4 0 0 0 36.00
182 rodgers, aaron 12 2016 01/08/17 362 4 0 0 0 38.48
183 rodgers, aaron 12 2016 01/15/17 356 2 1 0 0 24.24

In [23]:
rodgers_2016 = rodgers_2016.groupby(['Year', 'Career Year']).sum()
rodgers_2016


Out[23]:
Pass Yds Pass TD Pass Int Rush Yds Rush TD Fantasy Points
Year Career Year
2016 12 5146 46 8 0 0 465.84

In [32]:
newton_2016 = qb_fantasy_2016.loc[qb_fantasy_2016['Name'] == 'newton, cam']
print("done!")
newton_2016


done!
Out[32]:
Name Career Year Year Date Pass Yds Pass TD Pass Int Rush Yds Rush TD Fantasy Points
892 newton, cam 6 2016 09/08/16 194 1 1 54 1 23.16
893 newton, cam 6 2016 09/18/16 353 4 1 37 0 39.82
894 newton, cam 6 2016 09/25/16 262 0 3 26 1 13.08
895 newton, cam 6 2016 10/02/16 165 1 0 30 0 15.60
896 newton, cam 6 2016 10/16/16 322 2 1 1 1 28.98
897 newton, cam 6 2016 10/30/16 212 0 0 43 0 12.78
898 newton, cam 6 2016 11/06/16 225 1 0 16 0 16.60
899 newton, cam 6 2016 11/13/16 261 1 1 54 1 25.84
900 newton, cam 6 2016 11/17/16 192 1 0 7 0 14.38
901 newton, cam 6 2016 11/27/16 246 2 1 6 1 26.44
902 newton, cam 6 2016 12/04/16 182 1 0 12 0 14.48
903 newton, cam 6 2016 12/11/16 160 1 1 31 0 13.50
904 newton, cam 6 2016 12/19/16 300 2 0 0 0 24.00
905 newton, cam 6 2016 12/24/16 198 1 2 36 0 13.52
906 newton, cam 6 2016 01/01/17 237 1 3 6 0 10.08

In [33]:
newton_2016 = newton_2016.groupby(['Year', 'Career Year']).sum()
newton_2016


Out[33]:
Pass Yds Pass TD Pass Int Rush Yds Rush TD Fantasy Points
Year Career Year
2016 6 3509 19 14 359 5 292.26