James McCool commited on
Commit
6d79e77
·
1 Parent(s): 89cebad

Enhance optimal lineup filtering by replacing mapping logic and reintroducing projection and ownership inputs for user customization.

Browse files
Files changed (1) hide show
  1. src/streamlit_app.py +5 -4
src/streamlit_app.py CHANGED
@@ -519,8 +519,9 @@ def normalize_special_characters(text):
519
 
520
  @st.cache_data
521
  def map_mask_parse(df: pd.DataFrame, map: dict, threshold: float):
522
- df = df.map(map)
523
- mask = (df >= threshold).all(axis=1)
 
524
  df = df[mask]
525
  return df
526
 
@@ -1095,8 +1096,6 @@ if selected_tab == 'Optimals':
1095
  with optimals_macro_col:
1096
  lineup_num_var = st.number_input("How many lineups do you want to display?", min_value=1, max_value=1000, value=150, step=1, key='lineup_num_var_input')
1097
  player_var2 = st.multiselect('Query for lineups including:', options = raw_baselines['Player'].unique(), key='player_var2_multiselect', default=[])
1098
- projection_var = st.number_input("Minimum projection used", min_value=0.0, max_value=100.0, value=0.0, step=1.0, key='projection_var_input')
1099
- ownership_var = st.number_input("Minimum ownership used", min_value=0.0, max_value=100.0, value=0.0, step=1.0, key='ownership_var_input')
1100
 
1101
  if type_var == 'Regular':
1102
  if site_var == 'Draftkings':
@@ -1116,6 +1115,7 @@ if selected_tab == 'Optimals':
1116
  elif site_var == 'Fanduel':
1117
  salary_min_var = st.number_input("Minimum salary used", min_value = 0, max_value = 60000, value = 59000, step = 100, key = 'salary_min_var_fd')
1118
  salary_max_var = st.number_input("Maximum salary used", min_value = 0, max_value = 60000, value = 60000, step = 100, key = 'salary_max_var_fd')
 
1119
  with optimals_stacks_col:
1120
  if site_var == 'Draftkings':
1121
  min_stacks_var = st.number_input("Minimum stacks used", min_value = 0, max_value = 5, value = 1, step = 1, key = 'min_stacks_var_dk')
@@ -1123,6 +1123,7 @@ if selected_tab == 'Optimals':
1123
  elif site_var == 'Fanduel':
1124
  min_stacks_var = st.number_input("Minimum stacks used", min_value = 0, max_value = 4, value = 1, step = 1, key = 'min_stacks_var_fd')
1125
  max_stacks_var = st.number_input("Maximum stacks used", min_value = 0, max_value = 4, value = 4, step = 1, key = 'max_stacks_var_fd')
 
1126
 
1127
 
1128
  if site_var == 'Draftkings':
 
519
 
520
  @st.cache_data
521
  def map_mask_parse(df: pd.DataFrame, map: dict, threshold: float):
522
+ proj_df = df.iloc[:, :-7].replace(map).astype(float)
523
+ print(proj_df.head(10))
524
+ mask = (proj_df >= threshold).all(axis=1)
525
  df = df[mask]
526
  return df
527
 
 
1096
  with optimals_macro_col:
1097
  lineup_num_var = st.number_input("How many lineups do you want to display?", min_value=1, max_value=1000, value=150, step=1, key='lineup_num_var_input')
1098
  player_var2 = st.multiselect('Query for lineups including:', options = raw_baselines['Player'].unique(), key='player_var2_multiselect', default=[])
 
 
1099
 
1100
  if type_var == 'Regular':
1101
  if site_var == 'Draftkings':
 
1115
  elif site_var == 'Fanduel':
1116
  salary_min_var = st.number_input("Minimum salary used", min_value = 0, max_value = 60000, value = 59000, step = 100, key = 'salary_min_var_fd')
1117
  salary_max_var = st.number_input("Maximum salary used", min_value = 0, max_value = 60000, value = 60000, step = 100, key = 'salary_max_var_fd')
1118
+ projection_var = st.number_input("Minimum projection used", min_value=0.0, max_value=100.0, value=0.0, step=1.0, key='projection_var_input')
1119
  with optimals_stacks_col:
1120
  if site_var == 'Draftkings':
1121
  min_stacks_var = st.number_input("Minimum stacks used", min_value = 0, max_value = 5, value = 1, step = 1, key = 'min_stacks_var_dk')
 
1123
  elif site_var == 'Fanduel':
1124
  min_stacks_var = st.number_input("Minimum stacks used", min_value = 0, max_value = 4, value = 1, step = 1, key = 'min_stacks_var_fd')
1125
  max_stacks_var = st.number_input("Maximum stacks used", min_value = 0, max_value = 4, value = 4, step = 1, key = 'max_stacks_var_fd')
1126
+ ownership_var = st.number_input("Minimum ownership used", min_value=0.0, max_value=100.0, value=0.0, step=1.0, key='ownership_var_input')
1127
 
1128
 
1129
  if site_var == 'Draftkings':