James McCool commited on
Commit
87b7422
·
1 Parent(s): 07a4d86

Add Handbuilder tab in app.py to allow user selection of players for lineup creation, enhancing user interactivity and lineup management capabilities.

Browse files
Files changed (1) hide show
  1. app.py +43 -2
app.py CHANGED
@@ -292,7 +292,7 @@ with col2:
292
  site_var = st.selectbox("What site do you want to view?", ('Draftkings', 'Fanduel'), key='site_var')
293
 
294
 
295
- tab1, tab2, tab3 = st.tabs(["Scoring Percentages", "Player ROO", "Optimals"])
296
 
297
  roo_data, sd_roo_data, scoring_percentages, dk_roo, fd_roo, dk_id_map, fd_id_map = init_baselines()
298
  hold_display = roo_data
@@ -797,4 +797,45 @@ with tab3:
797
  data=convert_df_to_csv(summary_df),
798
  file_name='MLB_seed_frame_frequency.csv',
799
  mime='text/csv',
800
- )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
292
  site_var = st.selectbox("What site do you want to view?", ('Draftkings', 'Fanduel'), key='site_var')
293
 
294
 
295
+ tab1, tab2, tab3, tab4 = st.tabs(["Scoring Percentages", "Player ROO", "Optimals", "Handbuilder"])
296
 
297
  roo_data, sd_roo_data, scoring_percentages, dk_roo, fd_roo, dk_id_map, fd_id_map = init_baselines()
298
  hold_display = roo_data
 
797
  data=convert_df_to_csv(summary_df),
798
  file_name='MLB_seed_frame_frequency.csv',
799
  mime='text/csv',
800
+ )
801
+
802
+ with tab4:
803
+ st.header("Handbuilder")
804
+
805
+ # Prepare the player selection DataFrame
806
+ player_select_df = dk_roo[['Player', 'Position', 'Team', 'Salary', 'Median', 'Ceiling', 'Own%']].copy()
807
+ player_select_df['Select'] = False # Add a checkbox column
808
+
809
+ # Use session state to persist selections
810
+ if 'handbuilder_select' not in st.session_state:
811
+ st.session_state.handbuilder_select = player_select_df
812
+
813
+ # Data editor for player selection
814
+ st.subheader("Player Select")
815
+ edited_df = st.data_editor(
816
+ st.session_state.handbuilder_select,
817
+ column_config={
818
+ "Select": st.column_config.CheckboxColumn(
819
+ "Select",
820
+ help="Check to add player to lineup",
821
+ default=False
822
+ )
823
+ },
824
+ use_container_width=True,
825
+ hide_index=True,
826
+ key="handbuilder_editor"
827
+ )
828
+
829
+ # Update session state with the edited DataFrame
830
+ st.session_state.handbuilder_select = edited_df
831
+
832
+ # Filter selected players for the lineup
833
+ selected_players = edited_df[edited_df['Select'] == True]
834
+
835
+ # Display the selected lineup
836
+ st.subheader("Lineup")
837
+ st.dataframe(
838
+ selected_players.drop(columns=['Select']),
839
+ use_container_width=True,
840
+ height=500
841
+ )