James McCool commited on
Commit
4886b47
·
1 Parent(s): be18476

Refactor init_DK_seed_frames and init_FD_seed_frames functions in app.py to accept slate_var as a parameter, allowing for dynamic database collection selection based on slate type. Updated related function calls throughout the application to enhance flexibility in data loading for Draftkings and Fanduel simulations.

Browse files
Files changed (1) hide show
  1. app.py +51 -43
app.py CHANGED
@@ -52,28 +52,40 @@ st.markdown("""
52
  </style>""", unsafe_allow_html=True)
53
 
54
  @st.cache_data(ttl = 600)
55
- def init_DK_seed_frames(sharp_split):
56
-
57
- collection = db["DK_NHL_seed_frame"]
58
- cursor = collection.find().limit(sharp_split)
59
-
60
- raw_display = pd.DataFrame(list(cursor))
61
- raw_display = raw_display[['C1', 'C2', 'W1', 'W2', 'W3', 'D1', 'D2', 'G', 'FLEX', 'salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own']]
62
- DK_seed = raw_display.to_numpy()
63
 
64
- return DK_seed
 
 
 
 
 
 
65
 
66
  @st.cache_data(ttl = 599)
67
- def init_FD_seed_frames(sharp_split):
68
-
69
- collection = db["FD_NHL_seed_frame"]
70
- cursor = collection.find().limit(sharp_split)
71
 
72
- raw_display = pd.DataFrame(list(cursor))
73
- raw_display = raw_display[['C1', 'C2', 'W1', 'W2', 'D1', 'D2', 'FLEX1', 'FLEX2', 'G', 'salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own']]
74
- FD_seed = raw_display.to_numpy()
 
 
 
 
 
 
 
 
 
75
 
76
- return FD_seed
77
 
78
  @st.cache_data(ttl = 599)
79
  def init_baselines():
@@ -167,13 +179,13 @@ with tab1:
167
  st.cache_data.clear()
168
  for key in st.session_state.keys():
169
  del st.session_state[key]
170
- DK_seed = init_DK_seed_frames(10000)
171
- FD_seed = init_FD_seed_frames(10000)
172
  dk_raw, fd_raw, teams_playing_count = init_baselines()
173
  dk_id_dict = dict(zip(dk_raw.Player, dk_raw.player_id))
174
  fd_id_dict = dict(zip(fd_raw.Player, fd_raw.player_id))
175
 
176
- sim_slate_var1 = st.radio("Which data are you loading?", ('Main Slate', 'Other Main Slate'), key='sim_slate_var1')
177
  sim_site_var1 = st.radio("What site are you working with?", ('Draftkings', 'Fanduel'), key='sim_site_var1')
178
 
179
  contest_var1 = st.selectbox("What contest size are you simulating?", ('Small', 'Medium', 'Large', 'Custom'))
@@ -237,17 +249,15 @@ with tab1:
237
 
238
  else:
239
  if sim_site_var1 == 'Draftkings':
240
- if sim_slate_var1 == 'Main Slate':
241
- st.session_state.working_seed = init_DK_seed_frames(sharp_split)
242
- dk_id_dict = dict(zip(dk_raw.Player, dk_raw.player_id))
243
- raw_baselines = dk_raw
244
- column_names = dk_columns
245
  elif sim_site_var1 == 'Fanduel':
246
- if sim_slate_var1 == 'Main Slate':
247
- st.session_state.working_seed = init_FD_seed_frames(sharp_split)
248
- fd_id_dict = dict(zip(fd_raw.Player, fd_raw.player_id))
249
- raw_baselines = fd_raw
250
- column_names = fd_columns
251
 
252
  st.session_state.maps_dict = {
253
  'Projection_map':dict(zip(raw_baselines.Player,raw_baselines.Median)),
@@ -628,7 +638,7 @@ with tab2:
628
  dk_id_dict = dict(zip(dk_raw.Player, dk_raw.player_id))
629
  fd_id_dict = dict(zip(fd_raw.Player, fd_raw.player_id))
630
 
631
- slate_var1 = st.radio("Which data are you loading?", ('Main Slate', 'Other Main Slate'))
632
  site_var1 = st.radio("What site are you working with?", ('Draftkings', 'Fanduel'))
633
  sharp_split_var = st.number_input("How many lineups do you want?", value=10000, max_value=500000, min_value=10000, step=10000)
634
  lineup_num_var = st.number_input("How many lineups do you want to display?", min_value=1, max_value=500, value=10, step=1)
@@ -675,20 +685,18 @@ with tab2:
675
  st.session_state.data_export_display = st.session_state.working_seed[0:lineup_num_var]
676
  elif 'working_seed' not in st.session_state:
677
  if site_var1 == 'Draftkings':
678
- if slate_var1 == 'Main Slate':
679
- st.session_state.working_seed = init_DK_seed_frames(sharp_split_var)
680
 
681
- dk_id_dict = dict(zip(dk_raw.Player, dk_raw.player_id))
682
- raw_baselines = dk_raw
683
- column_names = dk_columns
684
 
685
  elif site_var1 == 'Fanduel':
686
- if slate_var1 == 'Main Slate':
687
- st.session_state.working_seed = init_FD_seed_frames(sharp_split_var)
688
 
689
- fd_id_dict = dict(zip(fd_raw.Player, fd_raw.player_id))
690
- raw_baselines = fd_raw
691
- column_names = fd_columns
692
  st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 11], team_var2)]
693
  st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 12], stack_var2)]
694
  st.session_state.data_export_display = st.session_state.working_seed[0:lineup_num_var]
@@ -709,7 +717,7 @@ with tab2:
709
  st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 12], stack_var2)]
710
  st.session_state.data_export_display = pd.DataFrame(st.session_state.working_seed[0:lineup_num_var], columns=column_names)
711
  elif 'working_seed' not in st.session_state:
712
- if slate_var1 == 'Main Slate':
713
  st.session_state.working_seed = init_DK_seed_frames(sharp_split_var)
714
  dk_id_dict = dict(zip(dk_raw.Player, dk_raw.player_id))
715
 
@@ -726,7 +734,7 @@ with tab2:
726
  st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 12], stack_var2)]
727
  st.session_state.data_export_display = pd.DataFrame(st.session_state.working_seed[0:lineup_num_var], columns=column_names)
728
  elif 'working_seed' not in st.session_state:
729
- if slate_var1 == 'Main Slate':
730
  st.session_state.working_seed = init_FD_seed_frames(sharp_split_var)
731
  fd_id_dict = dict(zip(fd_raw.Player, fd_raw.player_id))
732
 
 
52
  </style>""", unsafe_allow_html=True)
53
 
54
  @st.cache_data(ttl = 600)
55
+ def init_DK_seed_frames(sharp_split, slate_var):
56
+
57
+ if slate_var == 'Main Slate':
58
+ collection = db['DK_NHL_seed_frame_Main Slate']
59
+ elif slate_var == 'Secondary Slate':
60
+ collection = db['DK_NHL_seed_frame_Secondary Slate']
61
+ elif slate_var == 'Auxiliary Slate':
62
+ collection = db['DK_NHL_seed_frame_Auxiliary Slate']
63
 
64
+ cursor = collection.find().limit(sharp_split)
65
+
66
+ raw_display = pd.DataFrame(list(cursor))
67
+ raw_display = raw_display[['C1', 'C2', 'W1', 'W2', 'W3', 'D1', 'D2', 'G', 'FLEX', 'salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own']]
68
+ DK_seed = raw_display.to_numpy()
69
+
70
+ return DK_seed
71
 
72
  @st.cache_data(ttl = 599)
73
+ def init_FD_seed_frames(sharp_split, slate_var):
 
 
 
74
 
75
+ if slate_var == 'Main Slate':
76
+ collection = db['FD_NHL_seed_frame_Main Slate']
77
+ elif slate_var == 'Secondary Slate':
78
+ collection = db['FD_NHL_seed_frame_Secondary Slate']
79
+ elif slate_var == 'Auxiliary Slate':
80
+ collection = db['FD_NHL_seed_frame_Auxiliary Slate']
81
+
82
+ cursor = collection.find().limit(sharp_split)
83
+
84
+ raw_display = pd.DataFrame(list(cursor))
85
+ raw_display = raw_display[['C1', 'C2', 'W1', 'W2', 'D1', 'D2', 'FLEX1', 'FLEX2', 'G', 'salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own']]
86
+ FD_seed = raw_display.to_numpy()
87
 
88
+ return FD_seed
89
 
90
  @st.cache_data(ttl = 599)
91
  def init_baselines():
 
179
  st.cache_data.clear()
180
  for key in st.session_state.keys():
181
  del st.session_state[key]
182
+ DK_seed = init_DK_seed_frames(10000, 'Main Slate')
183
+ FD_seed = init_FD_seed_frames(10000, 'Main Slate')
184
  dk_raw, fd_raw, teams_playing_count = init_baselines()
185
  dk_id_dict = dict(zip(dk_raw.Player, dk_raw.player_id))
186
  fd_id_dict = dict(zip(fd_raw.Player, fd_raw.player_id))
187
 
188
+ sim_slate_var1 = st.radio("Which data are you loading?", ('Main Slate', 'Secondary Slate', 'Auxiliary Slate'), key='sim_slate_var1')
189
  sim_site_var1 = st.radio("What site are you working with?", ('Draftkings', 'Fanduel'), key='sim_site_var1')
190
 
191
  contest_var1 = st.selectbox("What contest size are you simulating?", ('Small', 'Medium', 'Large', 'Custom'))
 
249
 
250
  else:
251
  if sim_site_var1 == 'Draftkings':
252
+ st.session_state.working_seed = init_DK_seed_frames(sharp_split, sim_slate_var1)
253
+ dk_id_dict = dict(zip(dk_raw.Player, dk_raw.player_id))
254
+ raw_baselines = dk_raw
255
+ column_names = dk_columns
 
256
  elif sim_site_var1 == 'Fanduel':
257
+ st.session_state.working_seed = init_FD_seed_frames(sharp_split, sim_slate_var1)
258
+ fd_id_dict = dict(zip(fd_raw.Player, fd_raw.player_id))
259
+ raw_baselines = fd_raw
260
+ column_names = fd_columns
 
261
 
262
  st.session_state.maps_dict = {
263
  'Projection_map':dict(zip(raw_baselines.Player,raw_baselines.Median)),
 
638
  dk_id_dict = dict(zip(dk_raw.Player, dk_raw.player_id))
639
  fd_id_dict = dict(zip(fd_raw.Player, fd_raw.player_id))
640
 
641
+ slate_var2 = st.radio("Which data are you loading?", ('Main Slate', 'Secondary Slate', 'Auxiliary Slate'))
642
  site_var1 = st.radio("What site are you working with?", ('Draftkings', 'Fanduel'))
643
  sharp_split_var = st.number_input("How many lineups do you want?", value=10000, max_value=500000, min_value=10000, step=10000)
644
  lineup_num_var = st.number_input("How many lineups do you want to display?", min_value=1, max_value=500, value=10, step=1)
 
685
  st.session_state.data_export_display = st.session_state.working_seed[0:lineup_num_var]
686
  elif 'working_seed' not in st.session_state:
687
  if site_var1 == 'Draftkings':
688
+ st.session_state.working_seed = init_DK_seed_frames(sharp_split_var, slate_var2)
 
689
 
690
+ dk_id_dict = dict(zip(dk_raw.Player, dk_raw.player_id))
691
+ raw_baselines = dk_raw
692
+ column_names = dk_columns
693
 
694
  elif site_var1 == 'Fanduel':
695
+ st.session_state.working_seed = init_FD_seed_frames(sharp_split_var, slate_var2)
 
696
 
697
+ fd_id_dict = dict(zip(fd_raw.Player, fd_raw.player_id))
698
+ raw_baselines = fd_raw
699
+ column_names = fd_columns
700
  st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 11], team_var2)]
701
  st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 12], stack_var2)]
702
  st.session_state.data_export_display = st.session_state.working_seed[0:lineup_num_var]
 
717
  st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 12], stack_var2)]
718
  st.session_state.data_export_display = pd.DataFrame(st.session_state.working_seed[0:lineup_num_var], columns=column_names)
719
  elif 'working_seed' not in st.session_state:
720
+ if slate_var2 == 'Main Slate':
721
  st.session_state.working_seed = init_DK_seed_frames(sharp_split_var)
722
  dk_id_dict = dict(zip(dk_raw.Player, dk_raw.player_id))
723
 
 
734
  st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 12], stack_var2)]
735
  st.session_state.data_export_display = pd.DataFrame(st.session_state.working_seed[0:lineup_num_var], columns=column_names)
736
  elif 'working_seed' not in st.session_state:
737
+ if slate_var2 == 'Main Slate':
738
  st.session_state.working_seed = init_FD_seed_frames(sharp_split_var)
739
  fd_id_dict = dict(zip(fd_raw.Player, fd_raw.player_id))
740