James McCool commited on
Commit
fb0e7f5
·
1 Parent(s): 252a303

Refactor app.py to enhance user input handling for slate types and player selection, improving layout with columns and ensuring accurate lineup generation based on selected parameters.

Browse files
Files changed (1) hide show
  1. app.py +31 -30
app.py CHANGED
@@ -452,26 +452,39 @@ with tab2:
452
  with tab3:
453
  st.header("Optimals")
454
  with st.expander("Info and Filters"):
455
- with st.container():
 
456
  slate_type_var3 = st.radio("Which slate type are you loading?", ('Regular', 'Showdown'), key='slate_type_var3')
 
 
 
 
457
  slate_var3 = st.radio("Which slate data are you loading?", ('Main', 'Secondary', 'Auxiliary'), key='slate_var3')
458
-
459
- if slate_type_var3 == 'Regular':
460
- if site_var == 'Draftkings':
461
- dk_lineups = init_DK_lineups(slate_type_var3, slate_var3)
462
- elif site_var == 'Fanduel':
463
- fd_lineups = init_FD_lineups(slate_type_var3, slate_var3)
464
- elif slate_type_var3 == 'Showdown':
 
 
 
 
 
 
 
 
 
 
 
465
  if site_var == 'Draftkings':
466
- dk_lineups = init_DK_lineups(slate_type_var3, slate_var3)
 
467
  elif site_var == 'Fanduel':
468
- fd_lineups = init_FD_lineups(slate_type_var3, slate_var3)
469
- lineup_num_var = st.number_input("How many lineups do you want to display?", min_value=1, max_value=1000, value=150, step=1)
470
 
471
- if slate_type_var3 == 'Regular':
472
- raw_baselines = roo_data
473
- elif slate_type_var3 == 'Showdown':
474
- raw_baselines = sd_roo_data
475
 
476
  if site_var == 'Draftkings':
477
  if slate_type_var3 == 'Regular':
@@ -485,12 +498,6 @@ with tab3:
485
  min_own = np.min(dk_lineups[:,12])
486
  max_own = np.max(dk_lineups[:,12])
487
 
488
-
489
- player_var1 = st.radio("Do you want a frame with specific Players?", ('Full Slate', 'Specific Players'), key='player_var1')
490
- if player_var1 == 'Specific Players':
491
- player_var2 = st.multiselect('Which players do you want?', options = raw_baselines['Player'].unique())
492
- elif player_var1 == 'Full Slate':
493
- player_var2 = raw_baselines.Player.values.tolist()
494
 
495
  elif site_var == 'Fanduel':
496
  raw_baselines = hold_display
@@ -504,15 +511,8 @@ with tab3:
504
  # Get the minimum and maximum ownership values from dk_lineups
505
  min_own = np.min(fd_lineups[:,11])
506
  max_own = np.max(fd_lineups[:,11])
507
-
508
-
509
- player_var1 = st.radio("Do you want a frame with specific Players?", ('Full Slate', 'Specific Players'), key='player_var1')
510
- if player_var1 == 'Specific Players':
511
- player_var2 = st.multiselect('Which players do you want?', options = raw_baselines['Player'].unique())
512
- elif player_var1 == 'Full Slate':
513
- player_var2 = raw_baselines.Player.values.tolist()
514
 
515
- if st.button("Prepare data export", key='data_export'):
516
  name_export = pd.DataFrame(st.session_state.working_seed.copy(), columns=column_names)
517
  data_export = pd.DataFrame(st.session_state.working_seed.copy(), columns=column_names)
518
  if site_var == 'Draftkings':
@@ -575,7 +575,8 @@ with tab3:
575
  elif player_var1 == 'Full Slate':
576
  st.session_state.working_seed = fd_lineups.copy()
577
  st.session_state.data_export_display = pd.DataFrame(st.session_state.working_seed[0:lineup_num_var], columns=column_names)
578
-
 
579
  export_file = st.session_state.data_export_display.copy()
580
  name_export = st.session_state.data_export_display.copy()
581
  if site_var == 'Draftkings':
 
452
  with tab3:
453
  st.header("Optimals")
454
  with st.expander("Info and Filters"):
455
+ col1, col2, col3 = st.columns(3)
456
+ with col1:
457
  slate_type_var3 = st.radio("Which slate type are you loading?", ('Regular', 'Showdown'), key='slate_type_var3')
458
+ if slate_type_var3 == 'Regular':
459
+ raw_baselines = roo_data
460
+ elif slate_type_var3 == 'Showdown':
461
+ raw_baselines = sd_roo_data
462
  slate_var3 = st.radio("Which slate data are you loading?", ('Main', 'Secondary', 'Auxiliary'), key='slate_var3')
463
+ if slate_type_var3 == 'Regular':
464
+ if site_var == 'Draftkings':
465
+ dk_lineups = init_DK_lineups(slate_type_var3, slate_var3)
466
+ elif site_var == 'Fanduel':
467
+ fd_lineups = init_FD_lineups(slate_type_var3, slate_var3)
468
+ elif slate_type_var3 == 'Showdown':
469
+ if site_var == 'Draftkings':
470
+ dk_lineups = init_DK_lineups(slate_type_var3, slate_var3)
471
+ elif site_var == 'Fanduel':
472
+ fd_lineups = init_FD_lineups(slate_type_var3, slate_var3)
473
+ with col2:
474
+ lineup_num_var = st.number_input("How many lineups do you want to display?", min_value=1, max_value=1000, value=150, step=1)
475
+ player_var1 = st.radio("Do you want a frame with specific Players?", ('Full Slate', 'Specific Players'), key='player_var1')
476
+ if player_var1 == 'Specific Players':
477
+ player_var2 = st.multiselect('Which players do you want?', options = raw_baselines['Player'].unique())
478
+ elif player_var1 == 'Full Slate':
479
+ player_var2 = raw_baselines.Player.values.tolist()
480
+ with col3:
481
  if site_var == 'Draftkings':
482
+ salary_min_var = st.number_input("Minimum salary used", min_value = 0, max_value = 50000, value = 49000, step = 100, key = 'salary_min_var')
483
+ salary_max_var = st.number_input("Maximum salary used", min_value = 0, max_value = 50000, value = 50000, step = 100, key = 'salary_max_var')
484
  elif site_var == 'Fanduel':
485
+ salary_min_var = st.number_input("Minimum salary used", min_value = 0, max_value = 35000, value = 34000, step = 100, key = 'salary_min_var')
486
+ salary_max_var = st.number_input("Maximum salary used", min_value = 0, max_value = 35000, value = 35000, step = 100, key = 'salary_max_var')
487
 
 
 
 
 
488
 
489
  if site_var == 'Draftkings':
490
  if slate_type_var3 == 'Regular':
 
498
  min_own = np.min(dk_lineups[:,12])
499
  max_own = np.max(dk_lineups[:,12])
500
 
 
 
 
 
 
 
501
 
502
  elif site_var == 'Fanduel':
503
  raw_baselines = hold_display
 
511
  # Get the minimum and maximum ownership values from dk_lineups
512
  min_own = np.min(fd_lineups[:,11])
513
  max_own = np.max(fd_lineups[:,11])
 
 
 
 
 
 
 
514
 
515
+ if st.button("Prepare full data export", key='data_export'):
516
  name_export = pd.DataFrame(st.session_state.working_seed.copy(), columns=column_names)
517
  data_export = pd.DataFrame(st.session_state.working_seed.copy(), columns=column_names)
518
  if site_var == 'Draftkings':
 
575
  elif player_var1 == 'Full Slate':
576
  st.session_state.working_seed = fd_lineups.copy()
577
  st.session_state.data_export_display = pd.DataFrame(st.session_state.working_seed[0:lineup_num_var], columns=column_names)
578
+ st.session_state.data_export_display = st.session_state.data_export_display[st.session_state.data_export_display['Salary'] >= salary_min_var]
579
+ st.session_state.data_export_display = st.session_state.data_export_display[st.session_state.data_export_display['Salary'] <= salary_max_var]
580
  export_file = st.session_state.data_export_display.copy()
581
  name_export = st.session_state.data_export_display.copy()
582
  if site_var == 'Draftkings':