Spaces:
Running
Running
James McCool
commited on
Commit
·
72c894a
1
Parent(s):
095a174
Refactor lineup initialization in app.py: remove try-except blocks for lineup creation, ensuring consistent DataFrame initialization for both Draftkings and Fanduel across Regular and Showdown slate types, enhancing code clarity and reliability.
Browse files
app.py
CHANGED
@@ -253,13 +253,10 @@ salary_dict = dict(zip(roo_raw.Player, roo_raw.Salary))
|
|
253 |
id_dict = dict(zip(roo_raw.Player, roo_raw.player_ID))
|
254 |
salary_dict_sd = dict(zip(sd_raw.Player, sd_raw.Salary))
|
255 |
id_dict_sd = dict(zip(sd_raw.Player, sd_raw.player_ID))
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
except:
|
261 |
-
dk_lineups = pd.DataFrame(columns=dk_columns)
|
262 |
-
fd_lineups = pd.DataFrame(columns=fd_columns)
|
263 |
t_stamp = f"Last Update: " + str(timestamp) + f" CST"
|
264 |
|
265 |
tab1, tab2 = st.tabs(['Range of Outcomes', 'Optimals'])
|
@@ -282,13 +279,10 @@ with tab1:
|
|
282 |
id_dict = dict(zip(roo_raw.Player, roo_raw.player_ID))
|
283 |
salary_dict_sd = dict(zip(sd_raw.Player, sd_raw.Salary))
|
284 |
id_dict_sd = dict(zip(sd_raw.Player, sd_raw.player_ID))
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
except:
|
290 |
-
dk_lineups = pd.DataFrame(columns=dk_columns)
|
291 |
-
fd_lineups = pd.DataFrame(columns=fd_columns)
|
292 |
t_stamp = f"Last Update: " + str(timestamp) + f" CST"
|
293 |
for key in st.session_state.keys():
|
294 |
del st.session_state[key]
|
@@ -382,13 +376,10 @@ with tab2:
|
|
382 |
id_dict = dict(zip(roo_raw.Player, roo_raw.player_ID))
|
383 |
salary_dict_sd = dict(zip(sd_raw.Player, sd_raw.Salary))
|
384 |
id_dict_sd = dict(zip(sd_raw.Player, sd_raw.player_ID))
|
385 |
-
|
386 |
-
|
387 |
-
|
388 |
-
|
389 |
-
except:
|
390 |
-
dk_lineups = pd.DataFrame(columns=dk_columns)
|
391 |
-
fd_lineups = pd.DataFrame(columns=fd_columns)
|
392 |
t_stamp = f"Last Update: " + str(timestamp) + f" CST"
|
393 |
for key in st.session_state.keys():
|
394 |
del st.session_state[key]
|
@@ -404,7 +395,10 @@ with tab2:
|
|
404 |
lineup_num_var = st.number_input("How many lineups do you want to display?", min_value=1, max_value=1000, value=150, step=1)
|
405 |
with col5:
|
406 |
if site_var1 == 'Draftkings':
|
407 |
-
|
|
|
|
|
|
|
408 |
|
409 |
player_var1 = st.radio("Do you want a frame with specific Players?", ('Full Slate', 'Specific Players'), key='player_var1')
|
410 |
if player_var1 == 'Specific Players':
|
@@ -413,7 +407,10 @@ with tab2:
|
|
413 |
player_var2 = dk_raw.Player.values.tolist()
|
414 |
|
415 |
elif site_var1 == 'Fanduel':
|
416 |
-
|
|
|
|
|
|
|
417 |
|
418 |
player_var1 = st.radio("Do you want a frame with specific Players?", ('Full Slate', 'Specific Players'), key='player_var1')
|
419 |
if player_var1 == 'Specific Players':
|
@@ -443,9 +440,12 @@ with tab2:
|
|
443 |
st.session_state.working_seed = st.session_state.working_seed[np.equal.outer(st.session_state.working_seed, player_var2).any(axis=1).all(axis=1)]
|
444 |
elif player_var1 == 'Full Slate':
|
445 |
st.session_state.working_seed = dk_lineups.copy()
|
446 |
-
|
447 |
elif 'working_seed' not in st.session_state:
|
448 |
-
|
|
|
|
|
|
|
449 |
st.session_state.working_seed = st.session_state.working_seed
|
450 |
if player_var1 == 'Specific Players':
|
451 |
st.session_state.working_seed = st.session_state.working_seed[np.equal.outer(st.session_state.working_seed, player_var2).any(axis=1).all(axis=1)]
|
@@ -462,7 +462,10 @@ with tab2:
|
|
462 |
st.session_state.working_seed = fd_lineups.copy()
|
463 |
st.session_state.data_export_display = pd.DataFrame(st.session_state.working_seed[0:lineup_num_var], columns=column_names)
|
464 |
elif 'working_seed' not in st.session_state:
|
465 |
-
|
|
|
|
|
|
|
466 |
st.session_state.working_seed = st.session_state.working_seed
|
467 |
if player_var1 == 'Specific Players':
|
468 |
st.session_state.working_seed = st.session_state.working_seed[np.equal.outer(st.session_state.working_seed, player_var2).any(axis=1).all(axis=1)]
|
@@ -472,20 +475,34 @@ with tab2:
|
|
472 |
|
473 |
export_file = st.session_state.data_export_display.copy()
|
474 |
if site_var1 == 'Draftkings':
|
475 |
-
|
476 |
-
|
|
|
|
|
|
|
|
|
477 |
elif site_var1 == 'Fanduel':
|
478 |
-
|
479 |
-
|
|
|
|
|
|
|
|
|
480 |
|
481 |
with st.container():
|
482 |
if st.button("Reset Optimals", key='reset3'):
|
483 |
for key in st.session_state.keys():
|
484 |
del st.session_state[key]
|
485 |
if site_var1 == 'Draftkings':
|
486 |
-
|
|
|
|
|
|
|
487 |
elif site_var1 == 'Fanduel':
|
488 |
-
|
|
|
|
|
|
|
489 |
if 'data_export_display' in st.session_state:
|
490 |
st.dataframe(st.session_state.data_export_display.style.background_gradient(axis=0).background_gradient(cmap='RdYlGn').format(precision=2), height=500, use_container_width = True)
|
491 |
st.download_button(
|
|
|
253 |
id_dict = dict(zip(roo_raw.Player, roo_raw.player_ID))
|
254 |
salary_dict_sd = dict(zip(sd_raw.Player, sd_raw.Salary))
|
255 |
id_dict_sd = dict(zip(sd_raw.Player, sd_raw.player_ID))
|
256 |
+
dk_lineups = pd.DataFrame(columns=dk_columns)
|
257 |
+
dk_sd_lineups = pd.DataFrame(columns=dk_sd_columns)
|
258 |
+
fd_lineups = pd.DataFrame(columns=fd_columns)
|
259 |
+
fd_sd_lineups = pd.DataFrame(columns=fd_sd_columns)
|
|
|
|
|
|
|
260 |
t_stamp = f"Last Update: " + str(timestamp) + f" CST"
|
261 |
|
262 |
tab1, tab2 = st.tabs(['Range of Outcomes', 'Optimals'])
|
|
|
279 |
id_dict = dict(zip(roo_raw.Player, roo_raw.player_ID))
|
280 |
salary_dict_sd = dict(zip(sd_raw.Player, sd_raw.Salary))
|
281 |
id_dict_sd = dict(zip(sd_raw.Player, sd_raw.player_ID))
|
282 |
+
dk_lineups = pd.DataFrame(columns=dk_columns)
|
283 |
+
dk_sd_lineups = pd.DataFrame(columns=dk_sd_columns)
|
284 |
+
fd_lineups = pd.DataFrame(columns=fd_columns)
|
285 |
+
fd_sd_lineups = pd.DataFrame(columns=fd_sd_columns)
|
|
|
|
|
|
|
286 |
t_stamp = f"Last Update: " + str(timestamp) + f" CST"
|
287 |
for key in st.session_state.keys():
|
288 |
del st.session_state[key]
|
|
|
376 |
id_dict = dict(zip(roo_raw.Player, roo_raw.player_ID))
|
377 |
salary_dict_sd = dict(zip(sd_raw.Player, sd_raw.Salary))
|
378 |
id_dict_sd = dict(zip(sd_raw.Player, sd_raw.player_ID))
|
379 |
+
dk_lineups = pd.DataFrame(columns=dk_columns)
|
380 |
+
dk_sd_lineups = pd.DataFrame(columns=dk_sd_columns)
|
381 |
+
fd_lineups = pd.DataFrame(columns=fd_columns)
|
382 |
+
fd_sd_lineups = pd.DataFrame(columns=fd_sd_columns)
|
|
|
|
|
|
|
383 |
t_stamp = f"Last Update: " + str(timestamp) + f" CST"
|
384 |
for key in st.session_state.keys():
|
385 |
del st.session_state[key]
|
|
|
395 |
lineup_num_var = st.number_input("How many lineups do you want to display?", min_value=1, max_value=1000, value=150, step=1)
|
396 |
with col5:
|
397 |
if site_var1 == 'Draftkings':
|
398 |
+
if slate_type_var1 == 'Regular':
|
399 |
+
column_names = dk_columns
|
400 |
+
elif slate_type_var1 == 'Showdown':
|
401 |
+
column_names = dk_sd_columns
|
402 |
|
403 |
player_var1 = st.radio("Do you want a frame with specific Players?", ('Full Slate', 'Specific Players'), key='player_var1')
|
404 |
if player_var1 == 'Specific Players':
|
|
|
407 |
player_var2 = dk_raw.Player.values.tolist()
|
408 |
|
409 |
elif site_var1 == 'Fanduel':
|
410 |
+
if slate_type_var1 == 'Regular':
|
411 |
+
column_names = fd_columns
|
412 |
+
elif slate_type_var1 == 'Showdown':
|
413 |
+
column_names = fd_sd_columns
|
414 |
|
415 |
player_var1 = st.radio("Do you want a frame with specific Players?", ('Full Slate', 'Specific Players'), key='player_var1')
|
416 |
if player_var1 == 'Specific Players':
|
|
|
440 |
st.session_state.working_seed = st.session_state.working_seed[np.equal.outer(st.session_state.working_seed, player_var2).any(axis=1).all(axis=1)]
|
441 |
elif player_var1 == 'Full Slate':
|
442 |
st.session_state.working_seed = dk_lineups.copy()
|
443 |
+
st.session_state.data_export_display = pd.DataFrame(st.session_state.working_seed[0:lineup_num_var], columns=column_names)
|
444 |
elif 'working_seed' not in st.session_state:
|
445 |
+
if slate_type_var1 == 'Regular':
|
446 |
+
st.session_state.working_seed = init_DK_lineups(slate_var1)
|
447 |
+
elif slate_type_var1 == 'Showdown':
|
448 |
+
st.session_state.working_seed = init_DK_SD_lineups(slate_var1)
|
449 |
st.session_state.working_seed = st.session_state.working_seed
|
450 |
if player_var1 == 'Specific Players':
|
451 |
st.session_state.working_seed = st.session_state.working_seed[np.equal.outer(st.session_state.working_seed, player_var2).any(axis=1).all(axis=1)]
|
|
|
462 |
st.session_state.working_seed = fd_lineups.copy()
|
463 |
st.session_state.data_export_display = pd.DataFrame(st.session_state.working_seed[0:lineup_num_var], columns=column_names)
|
464 |
elif 'working_seed' not in st.session_state:
|
465 |
+
if slate_type_var1 == 'Regular':
|
466 |
+
st.session_state.working_seed = init_FD_lineups(slate_var1)
|
467 |
+
elif slate_type_var1 == 'Showdown':
|
468 |
+
st.session_state.working_seed = init_FD_SD_lineups(slate_var1)
|
469 |
st.session_state.working_seed = st.session_state.working_seed
|
470 |
if player_var1 == 'Specific Players':
|
471 |
st.session_state.working_seed = st.session_state.working_seed[np.equal.outer(st.session_state.working_seed, player_var2).any(axis=1).all(axis=1)]
|
|
|
475 |
|
476 |
export_file = st.session_state.data_export_display.copy()
|
477 |
if site_var1 == 'Draftkings':
|
478 |
+
if slate_type_var1 == 'Regular':
|
479 |
+
for col_idx in range(8):
|
480 |
+
export_file.iloc[:, col_idx] = export_file.iloc[:, col_idx].map(id_dict)
|
481 |
+
elif slate_type_var1 == 'Showdown':
|
482 |
+
for col_idx in range(5):
|
483 |
+
export_file.iloc[:, col_idx] = export_file.iloc[:, col_idx].map(id_dict_sd)
|
484 |
elif site_var1 == 'Fanduel':
|
485 |
+
if slate_type_var1 == 'Regular':
|
486 |
+
for col_idx in range(9):
|
487 |
+
export_file.iloc[:, col_idx] = export_file.iloc[:, col_idx].map(id_dict)
|
488 |
+
elif slate_type_var1 == 'Showdown':
|
489 |
+
for col_idx in range(5):
|
490 |
+
export_file.iloc[:, col_idx] = export_file.iloc[:, col_idx].map(id_dict_sd)
|
491 |
|
492 |
with st.container():
|
493 |
if st.button("Reset Optimals", key='reset3'):
|
494 |
for key in st.session_state.keys():
|
495 |
del st.session_state[key]
|
496 |
if site_var1 == 'Draftkings':
|
497 |
+
if slate_type_var1 == 'Regular':
|
498 |
+
st.session_state.working_seed = dk_lineups.copy()
|
499 |
+
elif slate_type_var1 == 'Showdown':
|
500 |
+
st.session_state.working_seed = dk_sd_lineups.copy()
|
501 |
elif site_var1 == 'Fanduel':
|
502 |
+
if slate_type_var1 == 'Regular':
|
503 |
+
st.session_state.working_seed = fd_lineups.copy()
|
504 |
+
elif slate_type_var1 == 'Showdown':
|
505 |
+
st.session_state.working_seed = fd_sd_lineups.copy()
|
506 |
if 'data_export_display' in st.session_state:
|
507 |
st.dataframe(st.session_state.data_export_display.style.background_gradient(axis=0).background_gradient(cmap='RdYlGn').format(precision=2), height=500, use_container_width = True)
|
508 |
st.download_button(
|