James McCool commited on
Commit
0eef2b8
·
1 Parent(s): 8de59cc

Add auxiliary seed frame functions for NFL and NBA in app.py

Browse files

This commit introduces two new functions, init_DK_auxiliary_seed_frames and init_FD_auxiliary_seed_frames, to retrieve and process auxiliary seed data for DraftKings and FanDuel, respectively. The functions include caching for performance optimization and enhance the data handling capabilities by allowing users to select 'Auxiliary Showdown' in the UI. This change improves the overall functionality and flexibility of the application for contest simulations.

Files changed (1) hide show
  1. app.py +60 -2
app.py CHANGED
@@ -87,6 +87,23 @@ def init_DK_secondary_seed_frames(sport):
87
  DK_second_seed = raw_display.to_numpy()
88
 
89
  return DK_second_seed
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
90
 
91
  @st.cache_data(ttl = 599)
92
  def init_FD_seed_frames(sport):
@@ -122,6 +139,23 @@ def init_FD_secondary_seed_frames(sport):
122
 
123
  return FD_second_seed
124
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
125
  @st.cache_data(ttl = 599)
126
  def init_baselines(sport):
127
  if sport == 'NFL':
@@ -263,7 +297,7 @@ with tab2:
263
 
264
  sport_var1 = st.radio("What sport are you working with?", ('NFL', 'NBA'), key='sport_var1')
265
  dk_raw, fd_raw = init_baselines(sport_var1)
266
- slate_var1 = st.radio("Which data are you loading?", ('Showdown', 'Secondary Showdown'), key='slate_var1')
267
 
268
  site_var1 = st.radio("What site are you working with?", ('Draftkings', 'Fanduel'), key='site_var1')
269
  if site_var1 == 'Draftkings':
@@ -279,6 +313,12 @@ with tab2:
279
  export_id_dict = dict(zip(dk_raw['Player'], dk_raw['player_id']))
280
  elif sport_var1 == 'NBA':
281
  export_id_dict = dict(zip(dk_raw['Player'], dk_raw['player_id']))
 
 
 
 
 
 
282
  raw_baselines = dk_raw
283
  column_names = dk_columns
284
 
@@ -307,6 +347,12 @@ with tab2:
307
  export_id_dict = dict(zip(fd_raw['Player'], fd_raw['player_id']))
308
  elif sport_var1 == 'NBA':
309
  export_id_dict = dict(zip(fd_raw['Player'], fd_raw['player_id']))
 
 
 
 
 
 
310
  raw_baselines = fd_raw
311
  column_names = fd_columns
312
 
@@ -371,7 +417,7 @@ with tab1:
371
  dk_raw, fd_raw = init_baselines('NFL')
372
  sim_sport_var1 = st.radio("What sport are you working with?", ('NFL', 'NBA'), key='sim_sport_var1')
373
  dk_raw, fd_raw = init_baselines(sim_sport_var1)
374
- sim_slate_var1 = st.radio("Which data are you loading?", ('Showdown', 'Secondary Showdown'), key='sim_slate_var1')
375
  sim_site_var1 = st.radio("What site are you working with?", ('Draftkings', 'Fanduel'), key='sim_site_var1')
376
  if sim_site_var1 == 'Draftkings':
377
  if sim_slate_var1 == 'Showdown':
@@ -386,6 +432,12 @@ with tab1:
386
  export_id_dict = dict(zip(dk_raw['Player'], dk_raw['player_id']))
387
  elif sport_var1 == 'NBA':
388
  export_id_dict = dict(zip(dk_raw['Player'], dk_raw['player_id']))
 
 
 
 
 
 
389
  raw_baselines = dk_raw
390
  column_names = dk_columns
391
  elif sim_site_var1 == 'Fanduel':
@@ -401,6 +453,12 @@ with tab1:
401
  export_id_dict = dict(zip(fd_raw['Player'], fd_raw['player_id']))
402
  elif sport_var1 == 'NBA':
403
  export_id_dict = dict(zip(fd_raw['Player'], fd_raw['player_id']))
 
 
 
 
 
 
404
  raw_baselines = fd_raw
405
  column_names = fd_columns
406
 
 
87
  DK_second_seed = raw_display.to_numpy()
88
 
89
  return DK_second_seed
90
+
91
+ @st.cache_data(ttl = 599)
92
+ def init_DK_auxiliary_seed_frames(sport):
93
+
94
+ if sport == 'NFL':
95
+ db = client["NFL_Database"]
96
+ elif sport == 'NBA':
97
+ db = client["NBA_DFS"]
98
+
99
+ collection = db[f"DK_{sport}_Auxiliary_SD_seed_frame"]
100
+ cursor = collection.find()
101
+
102
+ raw_display = pd.DataFrame(list(cursor))
103
+ raw_display = raw_display[['CPT', 'FLEX1', 'FLEX2', 'FLEX3', 'FLEX4', 'FLEX5', 'salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own']]
104
+ DK_auxiliary_seed = raw_display.to_numpy()
105
+
106
+ return DK_auxiliary_seed
107
 
108
  @st.cache_data(ttl = 599)
109
  def init_FD_seed_frames(sport):
 
139
 
140
  return FD_second_seed
141
 
142
+ @st.cache_data(ttl = 599)
143
+ def init_FD_auxiliary_seed_frames(sport):
144
+
145
+ if sport == 'NFL':
146
+ db = client["NFL_Database"]
147
+ elif sport == 'NBA':
148
+ db = client["NBA_DFS"]
149
+
150
+ collection = db[f"FD_{sport}_Auxiliary_SD_seed_frame"]
151
+ cursor = collection.find()
152
+
153
+ raw_display = pd.DataFrame(list(cursor))
154
+ raw_display = raw_display[['CPT', 'FLEX1', 'FLEX2', 'FLEX3', 'FLEX4', 'salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own']]
155
+ FD_auxiliary_seed = raw_display.to_numpy()
156
+
157
+ return FD_auxiliary_seed
158
+
159
  @st.cache_data(ttl = 599)
160
  def init_baselines(sport):
161
  if sport == 'NFL':
 
297
 
298
  sport_var1 = st.radio("What sport are you working with?", ('NFL', 'NBA'), key='sport_var1')
299
  dk_raw, fd_raw = init_baselines(sport_var1)
300
+ slate_var1 = st.radio("Which data are you loading?", ('Showdown', 'Secondary Showdown', 'Auxiliary Showdown'), key='slate_var1')
301
 
302
  site_var1 = st.radio("What site are you working with?", ('Draftkings', 'Fanduel'), key='site_var1')
303
  if site_var1 == 'Draftkings':
 
313
  export_id_dict = dict(zip(dk_raw['Player'], dk_raw['player_id']))
314
  elif sport_var1 == 'NBA':
315
  export_id_dict = dict(zip(dk_raw['Player'], dk_raw['player_id']))
316
+ elif slate_var1 == 'Auxiliary Showdown':
317
+ DK_seed = init_DK_auxiliary_seed_frames(sport_var1)
318
+ if sport_var1 == 'NFL':
319
+ export_id_dict = dict(zip(dk_raw['Player'], dk_raw['player_id']))
320
+ elif sport_var1 == 'NBA':
321
+ export_id_dict = dict(zip(dk_raw['Player'], dk_raw['player_id']))
322
  raw_baselines = dk_raw
323
  column_names = dk_columns
324
 
 
347
  export_id_dict = dict(zip(fd_raw['Player'], fd_raw['player_id']))
348
  elif sport_var1 == 'NBA':
349
  export_id_dict = dict(zip(fd_raw['Player'], fd_raw['player_id']))
350
+ elif slate_var1 == 'Auxiliary Showdown':
351
+ FD_seed = init_FD_auxiliary_seed_frames(sport_var1)
352
+ if sport_var1 == 'NFL':
353
+ export_id_dict = dict(zip(fd_raw['Player'], fd_raw['player_id']))
354
+ elif sport_var1 == 'NBA':
355
+ export_id_dict = dict(zip(fd_raw['Player'], fd_raw['player_id']))
356
  raw_baselines = fd_raw
357
  column_names = fd_columns
358
 
 
417
  dk_raw, fd_raw = init_baselines('NFL')
418
  sim_sport_var1 = st.radio("What sport are you working with?", ('NFL', 'NBA'), key='sim_sport_var1')
419
  dk_raw, fd_raw = init_baselines(sim_sport_var1)
420
+ sim_slate_var1 = st.radio("Which data are you loading?", ('Showdown', 'Secondary Showdown', 'Auxiliary Showdown'), key='sim_slate_var1')
421
  sim_site_var1 = st.radio("What site are you working with?", ('Draftkings', 'Fanduel'), key='sim_site_var1')
422
  if sim_site_var1 == 'Draftkings':
423
  if sim_slate_var1 == 'Showdown':
 
432
  export_id_dict = dict(zip(dk_raw['Player'], dk_raw['player_id']))
433
  elif sport_var1 == 'NBA':
434
  export_id_dict = dict(zip(dk_raw['Player'], dk_raw['player_id']))
435
+ elif sim_slate_var1 == 'Auxiliary Showdown':
436
+ DK_seed = init_DK_auxiliary_seed_frames(sim_sport_var1)
437
+ if sport_var1 == 'NFL':
438
+ export_id_dict = dict(zip(dk_raw['Player'], dk_raw['player_id']))
439
+ elif sport_var1 == 'NBA':
440
+ export_id_dict = dict(zip(dk_raw['Player'], dk_raw['player_id']))
441
  raw_baselines = dk_raw
442
  column_names = dk_columns
443
  elif sim_site_var1 == 'Fanduel':
 
453
  export_id_dict = dict(zip(fd_raw['Player'], fd_raw['player_id']))
454
  elif sport_var1 == 'NBA':
455
  export_id_dict = dict(zip(fd_raw['Player'], fd_raw['player_id']))
456
+ elif sim_slate_var1 == 'Auxiliary Showdown':
457
+ FD_seed = init_FD_auxiliary_seed_frames(sim_sport_var1)
458
+ if sport_var1 == 'NFL':
459
+ export_id_dict = dict(zip(fd_raw['Player'], fd_raw['player_id']))
460
+ elif sport_var1 == 'NBA':
461
+ export_id_dict = dict(zip(fd_raw['Player'], fd_raw['player_id']))
462
  raw_baselines = fd_raw
463
  column_names = fd_columns
464