James McCool commited on
Commit
3fdce20
·
1 Parent(s): a819472

added some filters to lineups

Browse files
Files changed (1) hide show
  1. app.py +49 -3
app.py CHANGED
@@ -146,7 +146,7 @@ dk_lineups = init_DK_lineups()
146
  fd_lineups = init_FD_lineups()
147
  t_stamp = f"Last Update: " + str(timestamp) + f" CST"
148
 
149
- tab1, tab2 = st.tabs(['Range of Outcomes', 'Uploads and Info'])
150
 
151
  with tab1:
152
 
@@ -222,6 +222,9 @@ with tab2:
222
  site_var1 = st.radio("What site are you working with?", ('Draftkings', 'Fanduel'))
223
  if site_var1 == 'Draftkings':
224
  raw_baselines = dk_raw
 
 
 
225
  column_names = dk_columns
226
 
227
  player_var1 = st.radio("Do you want a frame with specific Players?", ('Full Slate', 'Specific Players'), key='player_var1')
@@ -229,16 +232,31 @@ with tab2:
229
  player_var2 = st.multiselect('Which players do you want?', options = dk_raw['Player'].unique())
230
  elif player_var1 == 'Full Slate':
231
  player_var2 = dk_raw.Player.values.tolist()
 
 
 
 
 
 
232
 
233
  elif site_var1 == 'Fanduel':
234
  raw_baselines = fd_raw
 
 
235
  column_names = fd_columns
236
 
237
  player_var1 = st.radio("Do you want a frame with specific Players?", ('Full Slate', 'Specific Players'), key='player_var1')
238
  if player_var1 == 'Specific Players':
239
- player_var2 = st.multiselect('Which players do you want?', options = dk_raw['Player'].unique())
240
  elif player_var1 == 'Full Slate':
241
- player_var2 = dk_raw.Player.values.tolist()
 
 
 
 
 
 
 
242
 
243
 
244
  if st.button("Prepare data export", key='data_export'):
@@ -254,19 +272,47 @@ with tab2:
254
  if site_var1 == 'Draftkings':
255
  if 'working_seed' in st.session_state:
256
  st.session_state.working_seed = st.session_state.working_seed
 
 
 
 
 
 
 
257
  st.session_state.data_export_display = pd.DataFrame(st.session_state.working_seed[0:151], columns=column_names)
258
  elif 'working_seed' not in st.session_state:
259
  st.session_state.working_seed = dk_lineups.copy()
260
  st.session_state.working_seed = st.session_state.working_seed
 
 
 
 
 
 
 
261
  st.session_state.data_export_display = pd.DataFrame(st.session_state.working_seed[0:151], columns=column_names)
262
 
263
  elif site_var1 == 'Fanduel':
264
  if 'working_seed' in st.session_state:
265
  st.session_state.working_seed = st.session_state.working_seed
 
 
 
 
 
 
 
266
  st.session_state.data_export_display = pd.DataFrame(st.session_state.working_seed[0:151], columns=column_names)
267
  elif 'working_seed' not in st.session_state:
268
  st.session_state.working_seed = fd_lineups.copy()
269
  st.session_state.working_seed = st.session_state.working_seed
 
 
 
 
 
 
 
270
  st.session_state.data_export_display = pd.DataFrame(st.session_state.working_seed[0:151], columns=column_names)
271
 
272
  with st.container():
 
146
  fd_lineups = init_FD_lineups()
147
  t_stamp = f"Last Update: " + str(timestamp) + f" CST"
148
 
149
+ tab1, tab2 = st.tabs(['Range of Outcomes', 'Optimals'])
150
 
151
  with tab1:
152
 
 
222
  site_var1 = st.radio("What site are you working with?", ('Draftkings', 'Fanduel'))
223
  if site_var1 == 'Draftkings':
224
  raw_baselines = dk_raw
225
+ # Get the minimum and maximum ownership values from dk_lineups
226
+ min_own = dk_lineups['Own'].min()
227
+ max_own = dk_lineups['Own'].max()
228
  column_names = dk_columns
229
 
230
  player_var1 = st.radio("Do you want a frame with specific Players?", ('Full Slate', 'Specific Players'), key='player_var1')
 
232
  player_var2 = st.multiselect('Which players do you want?', options = dk_raw['Player'].unique())
233
  elif player_var1 == 'Full Slate':
234
  player_var2 = dk_raw.Player.values.tolist()
235
+
236
+ own_var_low, own_var_high = st.slider("Select ownership range",
237
+ min_value=float(min_own),
238
+ max_value=float(max_own),
239
+ value=(float(min_own), float(max_own)),
240
+ step=10)
241
 
242
  elif site_var1 == 'Fanduel':
243
  raw_baselines = fd_raw
244
+ min_own = fd_lineups['Own'].min()
245
+ max_own = fd_lineups['Own'].max()
246
  column_names = fd_columns
247
 
248
  player_var1 = st.radio("Do you want a frame with specific Players?", ('Full Slate', 'Specific Players'), key='player_var1')
249
  if player_var1 == 'Specific Players':
250
+ player_var2 = st.multiselect('Which players do you want?', options = fd_raw['Player'].unique())
251
  elif player_var1 == 'Full Slate':
252
+ player_var2 = fd_raw.Player.values.tolist()
253
+
254
+ own_var_low, own_var_high = st.slider("Select ownership range",
255
+ min_value=float(min_own),
256
+ max_value=float(max_own),
257
+ value=(float(min_own), float(max_own)),
258
+ step=10)
259
+
260
 
261
 
262
  if st.button("Prepare data export", key='data_export'):
 
272
  if site_var1 == 'Draftkings':
273
  if 'working_seed' in st.session_state:
274
  st.session_state.working_seed = st.session_state.working_seed
275
+ st.session_state.working_seed = st.session_state.working_seed[st.session_state.working_seed['Own'] >= own_var_low]
276
+ st.session_state.working_seed = st.session_state.working_seed[st.session_state.working_seed['Own'] <= own_var_high]
277
+ # Create a mask to check if any column contains a player from player_var2
278
+ player_mask = st.session_state.working_seed.apply(lambda row: any(player in str(cell) for player in player_var2 for cell in row), axis=1)
279
+
280
+ # Apply the mask to filter the DataFrame
281
+ st.session_state.working_seed = st.session_state.working_seed[player_mask]
282
  st.session_state.data_export_display = pd.DataFrame(st.session_state.working_seed[0:151], columns=column_names)
283
  elif 'working_seed' not in st.session_state:
284
  st.session_state.working_seed = dk_lineups.copy()
285
  st.session_state.working_seed = st.session_state.working_seed
286
+ st.session_state.working_seed = st.session_state.working_seed[st.session_state.working_seed['Own'] >= own_var_low]
287
+ st.session_state.working_seed = st.session_state.working_seed[st.session_state.working_seed['Own'] <= own_var_high]
288
+ # Create a mask to check if any column contains a player from player_var2
289
+ player_mask = st.session_state.working_seed.apply(lambda row: any(player in str(cell) for player in player_var2 for cell in row), axis=1)
290
+
291
+ # Apply the mask to filter the DataFrame
292
+ st.session_state.working_seed = st.session_state.working_seed[player_mask]
293
  st.session_state.data_export_display = pd.DataFrame(st.session_state.working_seed[0:151], columns=column_names)
294
 
295
  elif site_var1 == 'Fanduel':
296
  if 'working_seed' in st.session_state:
297
  st.session_state.working_seed = st.session_state.working_seed
298
+ st.session_state.working_seed = st.session_state.working_seed[st.session_state.working_seed['Own'] >= own_var_low]
299
+ st.session_state.working_seed = st.session_state.working_seed[st.session_state.working_seed['Own'] <= own_var_high]
300
+ # Create a mask to check if any column contains a player from player_var2
301
+ player_mask = st.session_state.working_seed.apply(lambda row: any(player in str(cell) for player in player_var2 for cell in row), axis=1)
302
+
303
+ # Apply the mask to filter the DataFrame
304
+ st.session_state.working_seed = st.session_state.working_seed[player_mask]
305
  st.session_state.data_export_display = pd.DataFrame(st.session_state.working_seed[0:151], columns=column_names)
306
  elif 'working_seed' not in st.session_state:
307
  st.session_state.working_seed = fd_lineups.copy()
308
  st.session_state.working_seed = st.session_state.working_seed
309
+ st.session_state.working_seed = st.session_state.working_seed[st.session_state.working_seed['Own'] >= own_var_low]
310
+ st.session_state.working_seed = st.session_state.working_seed[st.session_state.working_seed['Own'] <= own_var_high]
311
+ # Create a mask to check if any column contains a player from player_var2
312
+ player_mask = st.session_state.working_seed.apply(lambda row: any(player in str(cell) for player in player_var2 for cell in row), axis=1)
313
+
314
+ # Apply the mask to filter the DataFrame
315
+ st.session_state.working_seed = st.session_state.working_seed[player_mask]
316
  st.session_state.data_export_display = pd.DataFrame(st.session_state.working_seed[0:151], columns=column_names)
317
 
318
  with st.container():