James McCool commited on
Commit
d4b7286
·
1 Parent(s): b4fefd9

Refactor tab2 layout: Consolidate data loading and filtering controls

Browse files

Simplified the layout of tab2 by moving controls into an expander and removing unnecessary column divisions. Streamlined the data loading logic for both DraftKings and FanDuel sites, maintaining the existing functionality while improving code readability and user interface.

Files changed (1) hide show
  1. app.py +59 -61
app.py CHANGED
@@ -608,20 +608,19 @@ with tab1:
608
  )
609
 
610
  with tab2:
611
- col1, col2 = st.columns([1, 7])
612
- with col1:
613
  if st.button("Load/Reset Data", key='reset1'):
614
- st.cache_data.clear()
615
- for key in st.session_state.keys():
616
- del st.session_state[key]
617
- DK_seed = init_DK_seed_frames(10000)
618
- FD_seed = init_FD_seed_frames(10000)
619
- DK_secondary = init_DK_secondary_seed_frames(10000)
620
- FD_secondary = init_FD_secondary_seed_frames(10000)
621
- dk_raw, fd_raw, dk_secondary, fd_secondary = init_baselines()
622
- dk_id_dict = dict(zip(dk_raw.Player, dk_raw.player_id))
623
- fd_id_dict = dict(zip(fd_raw.Player, fd_raw.player_id))
624
-
625
  slate_var1 = st.radio("Which data are you loading?", ('Main Slate', 'Secondary Slate'), key='slate_var1')
626
  site_var1 = st.radio("What site are you working with?", ('Draftkings', 'Fanduel'), key='site_var1')
627
  sharp_split_var = st.number_input("How many lineups do you want?", value=10000, max_value=500000, min_value=10000, step=10000)
@@ -714,55 +713,54 @@ with tab2:
714
  mime='text/csv',
715
  )
716
 
717
- with col2:
718
- if st.button("Load Data", key='load_data'):
719
- if site_var1 == 'Draftkings':
720
- if 'working_seed' in st.session_state:
721
- st.session_state.working_seed = st.session_state.working_seed
722
- if player_var1 == 'Specific Players':
723
- 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)]
724
- st.session_state.data_export_display = pd.DataFrame(st.session_state.working_seed[0:lineup_num_var], columns=column_names)
725
- elif 'working_seed' not in st.session_state:
726
- if slate_var1 == 'Main Slate':
727
- st.session_state.working_seed = init_DK_seed_frames(sharp_split_var)
728
- dk_id_dict = dict(zip(dk_raw.Player, dk_raw.player_id))
729
-
730
- raw_baselines = dk_raw
731
- column_names = dk_columns
732
- elif slate_var1 == 'Secondary Slate':
733
- st.session_state.working_seed = init_DK_secondary_seed_frames(sharp_split_var)
734
- dk_id_dict = dict(zip(dk_secondary.Player, dk_secondary.player_id))
735
 
736
- raw_baselines = dk_secondary
737
- column_names = dk_columns
738
-
739
- if player_var1 == 'Specific Players':
740
- 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)]
741
- st.session_state.data_export_display = pd.DataFrame(st.session_state.working_seed[0:lineup_num_var], columns=column_names)
742
-
743
- elif site_var1 == 'Fanduel':
744
- if 'working_seed' in st.session_state:
745
- st.session_state.working_seed = st.session_state.working_seed
746
- if player_var1 == 'Specific Players':
747
- 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)]
748
- st.session_state.data_export_display = pd.DataFrame(st.session_state.working_seed[0:lineup_num_var], columns=column_names)
749
- elif 'working_seed' not in st.session_state:
750
- if slate_var1 == 'Main Slate':
751
- st.session_state.working_seed = init_FD_seed_frames(sharp_split_var)
752
- fd_id_dict = dict(zip(fd_raw.Player, fd_raw.player_id))
753
 
754
- raw_baselines = fd_raw
755
- column_names = fd_columns
756
- elif slate_var1 == 'Secondary Slate':
757
- st.session_state.working_seed = init_FD_secondary_seed_frames(sharp_split_var)
758
- fd_id_dict = dict(zip(fd_secondary.Player, fd_secondary.player_id))
759
-
760
- raw_baselines = fd_secondary
761
- column_names = fd_columns
 
 
 
 
 
 
 
 
 
762
 
763
- if player_var1 == 'Specific Players':
764
- 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)]
765
- st.session_state.data_export_display = pd.DataFrame(st.session_state.working_seed[0:lineup_num_var], columns=column_names)
 
 
766
 
767
- if 'data_export_display' in st.session_state:
768
- 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)
 
 
 
 
 
 
 
 
608
  )
609
 
610
  with tab2:
611
+ with st.expander("Info and Filters"):
 
612
  if st.button("Load/Reset Data", key='reset1'):
613
+ st.cache_data.clear()
614
+ for key in st.session_state.keys():
615
+ del st.session_state[key]
616
+ DK_seed = init_DK_seed_frames(10000)
617
+ FD_seed = init_FD_seed_frames(10000)
618
+ DK_secondary = init_DK_secondary_seed_frames(10000)
619
+ FD_secondary = init_FD_secondary_seed_frames(10000)
620
+ dk_raw, fd_raw, dk_secondary, fd_secondary = init_baselines()
621
+ dk_id_dict = dict(zip(dk_raw.Player, dk_raw.player_id))
622
+ fd_id_dict = dict(zip(fd_raw.Player, fd_raw.player_id))
623
+
624
  slate_var1 = st.radio("Which data are you loading?", ('Main Slate', 'Secondary Slate'), key='slate_var1')
625
  site_var1 = st.radio("What site are you working with?", ('Draftkings', 'Fanduel'), key='site_var1')
626
  sharp_split_var = st.number_input("How many lineups do you want?", value=10000, max_value=500000, min_value=10000, step=10000)
 
713
  mime='text/csv',
714
  )
715
 
716
+ if st.button("Load Data", key='load_data'):
717
+ if site_var1 == 'Draftkings':
718
+ if 'working_seed' in st.session_state:
719
+ st.session_state.working_seed = st.session_state.working_seed
720
+ if player_var1 == 'Specific Players':
721
+ 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)]
722
+ st.session_state.data_export_display = pd.DataFrame(st.session_state.working_seed[0:lineup_num_var], columns=column_names)
723
+ elif 'working_seed' not in st.session_state:
724
+ if slate_var1 == 'Main Slate':
725
+ st.session_state.working_seed = init_DK_seed_frames(sharp_split_var)
726
+ dk_id_dict = dict(zip(dk_raw.Player, dk_raw.player_id))
 
 
 
 
 
 
 
727
 
728
+ raw_baselines = dk_raw
729
+ column_names = dk_columns
730
+ elif slate_var1 == 'Secondary Slate':
731
+ st.session_state.working_seed = init_DK_secondary_seed_frames(sharp_split_var)
732
+ dk_id_dict = dict(zip(dk_secondary.Player, dk_secondary.player_id))
 
 
 
 
 
 
 
 
 
 
 
 
733
 
734
+ raw_baselines = dk_secondary
735
+ column_names = dk_columns
736
+
737
+ if player_var1 == 'Specific Players':
738
+ 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)]
739
+ st.session_state.data_export_display = pd.DataFrame(st.session_state.working_seed[0:lineup_num_var], columns=column_names)
740
+
741
+ elif site_var1 == 'Fanduel':
742
+ if 'working_seed' in st.session_state:
743
+ st.session_state.working_seed = st.session_state.working_seed
744
+ if player_var1 == 'Specific Players':
745
+ 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)]
746
+ st.session_state.data_export_display = pd.DataFrame(st.session_state.working_seed[0:lineup_num_var], columns=column_names)
747
+ elif 'working_seed' not in st.session_state:
748
+ if slate_var1 == 'Main Slate':
749
+ st.session_state.working_seed = init_FD_seed_frames(sharp_split_var)
750
+ fd_id_dict = dict(zip(fd_raw.Player, fd_raw.player_id))
751
 
752
+ raw_baselines = fd_raw
753
+ column_names = fd_columns
754
+ elif slate_var1 == 'Secondary Slate':
755
+ st.session_state.working_seed = init_FD_secondary_seed_frames(sharp_split_var)
756
+ fd_id_dict = dict(zip(fd_secondary.Player, fd_secondary.player_id))
757
 
758
+ raw_baselines = fd_secondary
759
+ column_names = fd_columns
760
+
761
+ if player_var1 == 'Specific Players':
762
+ 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)]
763
+ st.session_state.data_export_display = pd.DataFrame(st.session_state.working_seed[0:lineup_num_var], columns=column_names)
764
+
765
+ if 'data_export_display' in st.session_state:
766
+ 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)