James McCool commited on
Commit
330dac8
·
1 Parent(s): a5888d7

Enhance trimming options in app.py: add informational prompt for filtering before trimming and update portfolio copy logic to ensure correct data handling during download, improving user guidance and functionality.

Browse files
Files changed (2) hide show
  1. app.py +6 -2
  2. global_func/predict_dupes.py +1 -1
app.py CHANGED
@@ -805,7 +805,7 @@ with tab3:
805
 
806
  submitted = st.form_submit_button("Submit")
807
  with st.expander('Trimming Options'):
808
-
809
  with st.form(key='trim_form'):
810
  performance_type = st.selectbox("Select Sorting variable", ['median', 'Finish_percentile'])
811
  own_type = st.selectbox("Select trimming variable", ['Own', 'Weighted Own'])
@@ -845,6 +845,7 @@ with tab3:
845
  st.session_state['portfolio'] = trim_portfolio(st.session_state['portfolio'], performance_type, own_type)
846
  export_file = st.session_state['portfolio'].copy()
847
  st.session_state['portfolio'] = st.session_state['portfolio'].sort_values(by='median', ascending=False)
 
848
 
849
  with col2:
850
  st.session_state['portfolio'] = predict_dupes(st.session_state['portfolio'], map_dict, site_var, type_var, Contest_Size, strength_var)
@@ -920,7 +921,10 @@ with tab3:
920
  )
921
 
922
  # Create a copy of the portfolio
923
- portfolio_copy = st.session_state['portfolio'].copy()
 
 
 
924
 
925
  # Create a list to store selected rows
926
  selected_rows = []
 
805
 
806
  submitted = st.form_submit_button("Submit")
807
  with st.expander('Trimming Options'):
808
+ st.info("Make sure you filter before trimming if you want to filter, trimming before a filter will reset your portfolio")
809
  with st.form(key='trim_form'):
810
  performance_type = st.selectbox("Select Sorting variable", ['median', 'Finish_percentile'])
811
  own_type = st.selectbox("Select trimming variable", ['Own', 'Weighted Own'])
 
845
  st.session_state['portfolio'] = trim_portfolio(st.session_state['portfolio'], performance_type, own_type)
846
  export_file = st.session_state['portfolio'].copy()
847
  st.session_state['portfolio'] = st.session_state['portfolio'].sort_values(by='median', ascending=False)
848
+ st.session_state['download_portfolio'] = export_file
849
 
850
  with col2:
851
  st.session_state['portfolio'] = predict_dupes(st.session_state['portfolio'], map_dict, site_var, type_var, Contest_Size, strength_var)
 
921
  )
922
 
923
  # Create a copy of the portfolio
924
+ if 'download_portfolio' not in st.session_state:
925
+ portfolio_copy = st.session_state['portfolio'].copy()
926
+ else:
927
+ portfolio_copy = st.session_state['download_portfolio'].copy()
928
 
929
  # Create a list to store selected rows
930
  selected_rows = []
global_func/predict_dupes.py CHANGED
@@ -181,7 +181,7 @@ def predict_dupes(portfolio, maps_dict, site_var, type_var, Contest_Size, streng
181
  portfolio['Lineup Edge'] = portfolio['Win%'] * ((.5 - portfolio['Finish_percentile']) * (Contest_Size / 2.5))
182
  portfolio['Lineup Edge'] = portfolio.apply(lambda row: row['Lineup Edge'] / (row['Dupes'] + 1) if row['Dupes'] > 0 else row['Lineup Edge'], axis=1)
183
  portfolio['Lineup Edge'] = portfolio['Lineup Edge'] - portfolio['Lineup Edge'].mean()
184
- portfolio['Weighted Own'] = portfolio['Own'] * ((portfolio[own_columns].max(axis=1) - portfolio[own_columns].min(axis=1)) / 100)
185
  portfolio = portfolio.drop(columns=dup_count_columns)
186
  portfolio = portfolio.drop(columns=own_columns)
187
  portfolio = portfolio.drop(columns=calc_columns)
 
181
  portfolio['Lineup Edge'] = portfolio['Win%'] * ((.5 - portfolio['Finish_percentile']) * (Contest_Size / 2.5))
182
  portfolio['Lineup Edge'] = portfolio.apply(lambda row: row['Lineup Edge'] / (row['Dupes'] + 1) if row['Dupes'] > 0 else row['Lineup Edge'], axis=1)
183
  portfolio['Lineup Edge'] = portfolio['Lineup Edge'] - portfolio['Lineup Edge'].mean()
184
+ portfolio['Weighted Own'] = (portfolio['Own'] * ((portfolio[own_columns].max(axis=1) - portfolio[own_columns].min(axis=1)) / 100)) * 200
185
  portfolio = portfolio.drop(columns=dup_count_columns)
186
  portfolio = portfolio.drop(columns=own_columns)
187
  portfolio = portfolio.drop(columns=calc_columns)