In [9]:
# import modules ----------------------
import nba_py
import nba_py.game
import nba_py.player
import nba_py.team
import pandas as pd
import numpy as np
import pytz
import datetime
# import time
# import functools
# import pymysql
from sqlalchemy import create_engine
from password import hoop_pwd
pwd = hoop_pwd.password
old_settings = np.seterr(all='print')
np.geterr()
from nba_seer import *
In [10]:
# create sql conn and load game stats logs ----------------------
conn = create_engine('mysql+pymysql://root:%s@118.190.202.87:3306/nba_stats' % pwd)
game_stats_logs = pd.read_sql_table('game_stats_logs', conn)
game_stats_logs = game_stats_logs[game_stats_logs['GAME_TYPE'] != 'all_star']
print(str(len(game_stats_logs)) + ' player stats loaded.')
200776 player stats loaded.
In [11]:
# set date ----------------------
ustz = pytz.timezone('America/New_York')
us_time = datetime.datetime.now(ustz)
today = us_time.date()
tomorrow = today + datetime.timedelta(days=1)
yesterday = today + datetime.timedelta(days=-1)
someday = datetime.date(2017, 10, 6)
print('date set')
date set
In [12]:
# load player list ----------------------
all_players = nba_py.player.PlayerList(season='2017-18').info()
print('players list loaded')
players list loaded
In [13]:
games = get_games(today)
games
Out[13]:
GAME_ID
HOME_TEAM_ID
VISITOR_TEAM_ID
0
0021700634
1610612748
1610612749
1
0021700635
1610612752
1610612740
2
0021700636
1610612756
1610612754
3
0021700637
1610612750
1610612757
In [14]:
players = get_players(games, all_players)
players
Out[14]:
PERSON_ID
TEAM_ID
Location
GAME_ID
Against_Team_ID
DISPLAY_FIRST_LAST
TEAM_ABBREVIATION
0
1628389
1610612748
HOME
0021700634
1610612749
Bam Adebayo
MIA
1
201609
1610612748
HOME
0021700634
1610612749
Goran Dragic
MIA
2
201961
1610612748
HOME
0021700634
1610612749
Wayne Ellington
MIA
3
1627773
1610612748
HOME
0021700634
1610612749
AJ Hammons
MIA
4
2617
1610612748
HOME
0021700634
1610612749
Udonis Haslem
MIA
5
201949
1610612748
HOME
0021700634
1610612749
James Johnson
MIA
6
204020
1610612748
HOME
0021700634
1610612749
Tyler Johnson
MIA
7
1627884
1610612748
HOME
0021700634
1610612749
Derrick Jones Jr.
MIA
8
203585
1610612748
HOME
0021700634
1610612749
Rodney McGruder
MIA
9
1626175
1610612748
HOME
0021700634
1610612749
Jordan Mickey
MIA
10
203482
1610612748
HOME
0021700634
1610612749
Kelly Olynyk
MIA
11
1626196
1610612748
HOME
0021700634
1610612749
Josh Richardson
MIA
12
203079
1610612748
HOME
0021700634
1610612749
Dion Waiters
MIA
13
1628476
1610612748
HOME
0021700634
1610612749
Derrick Walton Jr.
MIA
14
1627855
1610612748
HOME
0021700634
1610612749
Okaro White
MIA
15
202355
1610612748
HOME
0021700634
1610612749
Hassan Whiteside
MIA
16
1626159
1610612748
HOME
0021700634
1610612749
Justise Winslow
MIA
17
202332
1610612750
HOME
0021700637
1610612757
Cole Aldrich
MIN
18
202357
1610612750
HOME
0021700637
1610612757
Nemanja Bjelica
MIN
19
201166
1610612750
HOME
0021700637
1610612757
Aaron Brooks
MIN
20
1626148
1610612750
HOME
0021700637
1610612757
Anthony Brown
MIN
21
202710
1610612750
HOME
0021700637
1610612757
Jimmy Butler
MIN
22
2037
1610612750
HOME
0021700637
1610612757
Jamal Crawford
MIN
23
203476
1610612750
HOME
0021700637
1610612757
Gorgui Dieng
MIN
24
1627875
1610612750
HOME
0021700637
1610612757
Marcus Georges-Hunt
MIN
25
201959
1610612750
HOME
0021700637
1610612757
Taj Gibson
MIN
26
1626145
1610612750
HOME
0021700637
1610612757
Tyus Jones
MIN
27
203498
1610612750
HOME
0021700637
1610612757
Shabazz Muhammad
MIN
28
1628383
1610612750
HOME
0021700637
1610612757
Justin Patton
MIN
29
201952
1610612750
HOME
0021700637
1610612757
Jeff Teague
MIN
...
...
...
...
...
...
...
...
100
201954
1610612754
AWAY
0021700636
1610612756
Darren Collison
IND
101
2744
1610612754
AWAY
0021700636
1610612756
Al Jefferson
IND
102
202709
1610612754
AWAY
0021700636
1610612756
Cory Joseph
IND
103
1628388
1610612754
AWAY
0021700636
1610612756
TJ Leaf
IND
104
1628500
1610612754
AWAY
0021700636
1610612756
Ben Moore
IND
105
203506
1610612754
AWAY
0021700636
1610612756
Victor Oladipo
IND
106
1627816
1610612754
AWAY
0021700636
1610612756
Alex Poythress
IND
107
203922
1610612754
AWAY
0021700636
1610612756
Glenn Robinson III
IND
108
1627734
1610612754
AWAY
0021700636
1610612756
Domantas Sabonis
IND
109
202362
1610612754
AWAY
0021700636
1610612756
Lance Stephenson
IND
110
1628410
1610612754
AWAY
0021700636
1610612756
Edmond Sumner
IND
111
1626167
1610612754
AWAY
0021700636
1610612756
Myles Turner
IND
112
1626202
1610612754
AWAY
0021700636
1610612756
Joe Young
IND
113
201152
1610612754
AWAY
0021700636
1610612756
Thaddeus Young
IND
114
203507
1610612749
AWAY
0021700634
1610612748
Giannis Antetokounmpo
MIL
115
202339
1610612749
AWAY
0021700634
1610612748
Eric Bledsoe
MIL
116
1627763
1610612749
AWAY
0021700634
1610612748
Malcolm Brogdon
MIL
117
1628425
1610612749
AWAY
0021700634
1610612748
Sterling Brown
MIL
118
203521
1610612749
AWAY
0021700634
1610612748
Matthew Dellavedova
MIL
119
203089
1610612749
AWAY
0021700634
1610612748
John Henson
MIL
120
203930
1610612749
AWAY
0021700634
1610612748
Sean Kilpatrick
MIL
121
1627748
1610612749
AWAY
0021700634
1610612748
Thon Maker
MIL
122
203114
1610612749
AWAY
0021700634
1610612748
Khris Middleton
MIL
123
204098
1610612749
AWAY
0021700634
1610612748
Xavier Munford
MIL
124
203953
1610612749
AWAY
0021700634
1610612748
Jabari Parker
MIL
125
203503
1610612749
AWAY
0021700634
1610612748
Tony Snell
MIL
126
203141
1610612749
AWAY
0021700634
1610612748
Mirza Teletovic
MIL
127
1891
1610612749
AWAY
0021700634
1610612748
Jason Terry
MIL
128
1626173
1610612749
AWAY
0021700634
1610612748
Rashad Vaughn
MIL
129
1628391
1610612749
AWAY
0021700634
1610612748
D.J. Wilson
MIL
130 rows × 7 columns
In [15]:
players = get_exp_sco(players, game_stats_logs)
5games days complete!
days rest complete!
ma20 complete!
ma10 complete!
ma5 complete!
min20 complete!
min10 complete!
min5 complete!
min_cov_20 complete!
sco_cov_20 complete!
sco cov less than 0 droped!
location affect complete!
all done!
In [16]:
players
Out[16]:
PERSON_ID
TEAM_ID
Location
GAME_ID
Against_Team_ID
DISPLAY_FIRST_LAST
TEAM_ABBREVIATION
5_g_d
d_rest
MA_20
...
MA_5
MIN_20
MIN_10
MIN_5
MIN_COV_20
SCO_COV_20
home_aff
away_aff
EXP_SCO
EXP_SCO_L
0
1628389
1610612748
HOME
0021700634
1610612749
Bam Adebayo
MIA
8.0
3.0
28.57
...
30.92
23.15
23.31
19.23
0.342
0.329
0.915047
1.084953
17.98
16.452540
1
201609
1610612748
HOME
0021700634
1610612749
Goran Dragic
MIA
8.0
3.0
34.21
...
37.35
30.83
33.48
36.10
0.165
0.265
0.952083
1.047917
33.52
31.913808
2
201961
1610612748
HOME
0021700634
1610612749
Wayne Ellington
MIA
8.0
3.0
25.01
...
25.94
30.00
33.79
33.96
0.194
0.356
1.055318
0.944682
22.66
23.913511
3
1627773
1610612748
HOME
0021700634
1610612749
AJ Hammons
MIA
9.0
276.0
22.53
...
NaN
17.31
12.94
NaN
0.427
0.529
1.044093
0.958846
9.33
9.741389
4
2617
1610612748
HOME
0021700634
1610612749
Udonis Haslem
MIA
12.0
15.0
23.78
...
NaN
6.11
8.61
NaN
0.730
0.890
0.909000
1.064920
3.54
3.217860
5
201949
1610612748
HOME
0021700634
1610612749
James Johnson
MIA
18.0
4.0
31.85
...
30.30
25.07
21.11
24.35
0.393
0.298
0.963117
1.036883
20.77
20.003948
6
204020
1610612748
HOME
0021700634
1610612749
Tyler Johnson
MIA
12.0
3.0
27.84
...
24.74
31.77
34.02
32.81
0.164
0.276
1.019888
0.980112
24.39
24.875057
7
1627884
1610612748
HOME
0021700634
1610612749
Derrick Jones Jr.
MIA
48.0
3.0
24.07
...
22.13
10.32
13.11
17.63
0.859
0.848
0.902374
0.941422
8.13
7.336304
8
203585
1610612748
HOME
0021700634
1610612749
Rodney McGruder
MIA
11.0
94.0
19.36
...
22.78
24.52
21.70
24.02
0.266
0.462
1.022511
0.984208
12.70
12.985889
9
1626175
1610612748
HOME
0021700634
1610612749
Jordan Mickey
MIA
12.0
10.0
24.73
...
0.00
16.16
15.78
5.75
0.498
0.508
1.119804
0.887754
4.84
5.419849
10
203482
1610612748
HOME
0021700634
1610612749
Kelly Olynyk
MIA
8.0
3.0
29.25
...
25.32
28.90
28.89
30.45
0.173
0.283
1.048192
0.951808
22.76
23.856843
11
1626196
1610612748
HOME
0021700634
1610612749
Josh Richardson
MIA
8.0
3.0
28.54
...
25.92
35.67
36.98
38.32
0.101
0.271
1.058386
0.941614
28.40
30.058168
12
203079
1610612748
HOME
0021700634
1610612749
Dion Waiters
MIA
8.0
22.0
26.28
...
31.20
29.87
29.63
27.85
0.229
0.355
1.030863
0.969137
22.93
23.637684
13
1628476
1610612748
HOME
0021700634
1610612749
Derrick Walton Jr.
MIA
12.0
10.0
23.32
...
21.78
8.78
11.70
11.31
0.920
0.360
1.072276
0.927724
6.47
6.937626
14
1627855
1610612748
HOME
0021700634
1610612749
Okaro White
MIA
8.0
68.0
14.22
...
NaN
11.56
15.67
NaN
0.639
0.665
0.887755
1.152146
5.98
5.308777
15
202355
1610612748
HOME
0021700634
1610612749
Hassan Whiteside
MIA
8.0
3.0
45.51
...
44.61
23.09
23.86
24.86
0.207
0.208
0.963351
1.046716
29.72
28.630782
16
1626159
1610612748
HOME
0021700634
1610612749
Justise Winslow
MIA
11.0
31.0
24.99
...
NaN
21.89
NaN
NaN
0.348
0.399
0.965787
1.039871
15.20
14.679963
17
202332
1610612750
HOME
0021700637
1610612757
Cole Aldrich
MIN
28.0
3.0
30.55
...
20.57
2.29
2.19
1.67
0.281
0.693
0.926164
1.121372
1.44
1.333676
18
202357
1610612750
HOME
0021700637
1610612757
Nemanja Bjelica
MIN
8.0
3.0
15.07
...
13.93
11.62
11.62
12.22
0.339
0.829
1.075191
0.951691
4.82
5.182421
19
201166
1610612750
HOME
0021700637
1610612757
Aaron Brooks
MIN
8.0
3.0
28.89
...
25.26
10.60
11.59
10.75
0.700
0.902
0.975445
1.023327
7.67
7.481666
20
1626148
1610612750
HOME
0021700637
1610612757
Anthony Brown
MIN
308.0
97.0
25.47
...
-7.35
12.56
9.78
4.90
0.684
0.848
1.134779
0.827543
3.44
3.903640
21
202710
1610612750
HOME
0021700637
1610612757
Jimmy Butler
MIN
8.0
3.0
42.99
...
46.54
37.42
35.98
33.84
0.130
0.242
1.066162
0.921838
44.56
47.508157
22
2037
1610612750
HOME
0021700637
1610612757
Jamal Crawford
MIN
8.0
3.0
27.89
...
30.14
20.37
20.53
18.91
0.154
0.288
0.939593
1.006846
15.83
14.873764
23
203476
1610612750
HOME
0021700637
1610612757
Gorgui Dieng
MIN
8.0
3.0
29.51
...
31.82
19.76
19.07
19.58
0.155
0.374
1.033801
0.999764
16.33
16.881967
24
1627875
1610612750
HOME
0021700637
1610612757
Marcus Georges-Hunt
MIN
8.0
3.0
13.78
...
22.82
5.32
3.86
4.52
0.851
1.537
1.274417
0.620038
2.14
2.727253
25
201959
1610612750
HOME
0021700637
1610612757
Taj Gibson
MIN
8.0
3.0
27.23
...
25.95
34.48
33.86
32.29
0.122
0.294
1.063168
0.956709
24.97
26.547301
26
1626145
1610612750
HOME
0021700637
1610612757
Tyus Jones
MIN
8.0
3.0
25.44
...
19.12
20.20
26.59
29.30
0.429
0.419
1.014363
0.966798
16.21
16.442820
27
203498
1610612750
HOME
0021700637
1610612757
Shabazz Muhammad
MIN
44.0
3.0
21.49
...
22.72
3.16
3.16
2.85
0.436
1.062
0.954151
1.059033
1.86
1.774721
29
201952
1610612750
HOME
0021700637
1610612757
Jeff Teague
MIN
22.0
3.0
27.91
...
28.57
33.92
31.89
25.58
0.096
0.268
0.987355
1.012645
24.55
24.239567
30
1626157
1610612750
HOME
0021700637
1610612757
Karl-Anthony Towns
MIN
8.0
3.0
42.21
...
42.50
36.99
34.81
35.57
0.133
0.257
1.068854
0.923851
42.66
45.597304
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
99
202711
1610612754
AWAY
0021700636
1610612756
Bojan Bogdanovic
IND
13.0
3.0
21.98
...
26.28
31.58
29.90
27.55
0.168
0.290
1.005128
0.990064
19.92
19.722077
100
201954
1610612754
AWAY
0021700636
1610612756
Darren Collison
IND
11.0
3.0
29.43
...
26.92
28.11
28.21
25.75
0.219
0.327
0.943173
1.006929
21.04
21.185784
101
2744
1610612754
AWAY
0021700636
1610612756
Al Jefferson
IND
62.0
3.0
31.43
...
21.91
11.28
13.73
17.45
0.637
0.514
1.028287
0.973128
11.21
10.908759
102
202709
1610612754
AWAY
0021700636
1610612756
Cory Joseph
IND
11.0
3.0
23.08
...
26.78
26.75
27.86
27.73
0.144
0.381
0.901450
1.180424
19.01
22.439858
103
1628388
1610612754
AWAY
0021700636
1610612756
TJ Leaf
IND
11.0
3.0
21.15
...
14.35
7.14
8.28
10.26
0.738
0.778
1.032195
0.957073
4.44
4.249403
104
1628500
1610612754
AWAY
0021700636
1610612756
Ben Moore
IND
2.0
95.0
17.39
...
17.39
13.40
13.40
13.40
1.122
0.146
0.897032
1.102968
6.47
7.136201
105
203506
1610612754
AWAY
0021700636
1610612756
Victor Oladipo
IND
19.0
3.0
44.85
...
47.12
34.97
34.63
32.49
0.153
0.294
1.022758
0.951460
42.69
40.617823
106
1627816
1610612754
AWAY
0021700636
1610612756
Alex Poythress
IND
11.0
7.0
17.31
...
16.40
6.06
6.55
4.98
1.040
0.845
0.860009
1.093327
2.83
3.094116
107
203922
1610612754
AWAY
0021700636
1610612756
Glenn Robinson III
IND
35.0
265.0
26.32
...
16.45
14.89
10.86
13.13
0.405
0.336
1.073309
0.926691
7.67
7.107723
108
1627734
1610612754
AWAY
0021700636
1610612756
Domantas Sabonis
IND
11.0
3.0
35.52
...
34.88
23.56
25.90
28.78
0.207
0.248
1.027850
0.981877
26.00
25.528790
109
202362
1610612754
AWAY
0021700636
1610612756
Lance Stephenson
IND
11.0
3.0
29.72
...
28.44
26.03
28.16
25.52
0.245
0.249
1.122081
0.965384
21.56
20.813672
111
1626167
1610612754
AWAY
0021700636
1610612756
Myles Turner
IND
11.0
5.0
32.16
...
30.39
29.63
26.51
22.55
0.198
0.298
1.003338
1.068335
22.65
24.197782
112
1626202
1610612754
AWAY
0021700636
1610612756
Joe Young
IND
11.0
3.0
22.44
...
30.50
11.20
14.08
16.34
0.602
0.633
0.790630
1.414719
10.36
14.656493
113
201152
1610612754
AWAY
0021700636
1610612756
Thaddeus Young
IND
11.0
3.0
26.21
...
24.36
31.08
27.77
26.77
0.178
0.278
1.026065
1.018075
19.50
19.852469
114
203507
1610612749
AWAY
0021700634
1610612748
Giannis Antetokounmpo
MIL
8.0
3.0
46.76
...
47.38
37.90
36.43
33.87
0.100
0.199
0.978905
0.998329
45.95
45.873235
115
202339
1610612749
AWAY
0021700634
1610612748
Eric Bledsoe
MIL
8.0
3.0
35.13
...
32.36
31.93
29.94
28.98
0.104
0.255
1.054278
0.973573
28.99
28.223875
116
1627763
1610612749
AWAY
0021700634
1610612748
Malcolm Brogdon
MIL
8.0
3.0
27.96
...
29.21
31.15
31.57
33.45
0.164
0.249
1.057108
0.981456
25.54
25.066383
117
1628425
1610612749
AWAY
0021700634
1610612748
Sterling Brown
MIL
14.0
3.0
26.68
...
32.91
8.65
9.78
10.95
0.551
0.448
1.067952
0.915060
7.55
6.908700
118
203521
1610612749
AWAY
0021700634
1610612748
Matthew Dellavedova
MIL
8.0
3.0
24.05
...
27.52
17.36
18.35
16.55
0.262
0.490
1.063958
0.938086
12.46
11.688549
119
203089
1610612749
AWAY
0021700634
1610612748
John Henson
MIL
8.0
3.0
30.58
...
28.14
25.68
26.31
26.18
0.179
0.296
0.980108
1.100859
21.64
23.822599
120
203930
1610612749
AWAY
0021700634
1610612748
Sean Kilpatrick
MIL
10.0
3.0
22.72
...
14.06
11.76
7.76
5.38
0.583
0.724
1.033839
1.029989
4.36
4.490751
121
1627748
1610612749
AWAY
0021700634
1610612748
Thon Maker
MIL
8.0
3.0
24.06
...
25.39
17.92
17.81
19.05
0.267
0.469
0.982066
1.017883
12.86
13.089982
122
203114
1610612749
AWAY
0021700634
1610612748
Khris Middleton
MIL
8.0
3.0
32.38
...
32.36
37.51
37.15
33.90
0.104
0.183
0.959000
1.073937
31.90
34.258593
123
204098
1610612749
AWAY
0021700634
1610612748
Xavier Munford
MIL
170.0
465.0
26.33
...
26.87
17.74
20.42
12.18
0.549
0.507
1.092316
0.924469
12.19
11.269273
124
203953
1610612749
AWAY
0021700634
1610612748
Jabari Parker
MIL
12.0
339.0
34.90
...
40.16
34.20
32.76
28.60
0.134
0.246
1.008015
0.991985
32.41
32.150223
125
203503
1610612749
AWAY
0021700634
1610612748
Tony Snell
MIL
8.0
3.0
15.14
...
15.79
27.23
27.44
25.43
0.255
0.396
1.028900
0.970868
11.80
11.456238
126
203141
1610612749
AWAY
0021700634
1610612748
Mirza Teletovic
MIL
10.0
67.0
24.81
...
29.44
15.48
15.92
16.39
0.395
0.605
0.891030
1.064813
11.67
12.426369
127
1891
1610612749
AWAY
0021700634
1610612748
Jason Terry
MIL
12.0
5.0
12.71
...
4.28
10.81
6.63
4.81
0.716
0.823
1.078070
0.899883
2.01
1.808765
128
1626173
1610612749
AWAY
0021700634
1610612748
Rashad Vaughn
MIL
9.0
28.0
18.41
...
NaN
11.94
7.18
NaN
0.725
0.860
0.996588
0.952841
7.37
7.022440
129
1628391
1610612749
AWAY
0021700634
1610612748
D.J. Wilson
MIL
42.0
3.0
2.64
...
-4.12
3.86
3.62
4.75
0.999
5.322
0.530477
1.417354
-0.21
-0.297644
123 rows × 21 columns
In [17]:
players.to_csv('0114.csv')
In [ ]:
In [ ]:
In [ ]:
In [ ]:
In [ ]:
In [ ]:
In [ ]:
In [ ]:
In [ ]:
In [ ]:
In [ ]:
In [ ]: