James McCool commited on
Commit
9ca8f43
·
1 Parent(s): 7eb8127

Enhance map_mask_parse function to include site-specific variable handling for DraftKings and FanDuel, ensuring accurate projection and ownership calculations across data exports.

Browse files
Files changed (1) hide show
  1. src/streamlit_app.py +17 -14
src/streamlit_app.py CHANGED
@@ -517,8 +517,11 @@ def normalize_special_characters(text):
517
  return ascii_text
518
 
519
  @st.cache_data
520
- def map_mask_parse(df: pd.DataFrame, map: dict, threshold: float):
521
- proj_df = df.iloc[:, :-7].replace(map).astype(float)
 
 
 
522
  print(proj_df.head(10))
523
  mask = (proj_df >= threshold).all(axis=1)
524
  df = df[mask]
@@ -1272,22 +1275,22 @@ if selected_tab == 'Optimals':
1272
  data_export = data_export[data_export['Team_count'] >= min_stacks_var]
1273
  data_export = data_export[data_export['Team_count'] <= max_stacks_var]
1274
  if site_var == 'Draftkings':
1275
- data_export = map_mask_parse(data_export, dict(zip(raw_baselines['Player'], raw_baselines['Median'])), projection_var)
1276
- data_export = map_mask_parse(data_export, dict(zip(raw_baselines['Player'], raw_baselines['Own'])), ownership_var)
1277
  elif site_var == 'Fanduel':
1278
- data_export = map_mask_parse(data_export, dict(zip(raw_baselines['Player'], raw_baselines['Median'])), projection_var)
1279
- data_export = map_mask_parse(data_export, dict(zip(raw_baselines['Player'], raw_baselines['Own'])), ownership_var)
1280
 
1281
  name_export = name_export[name_export['salary'] >= salary_min_var]
1282
  name_export = name_export[name_export['salary'] <= salary_max_var]
1283
  name_export = name_export[name_export['Team_count'] >= min_stacks_var]
1284
  name_export = name_export[name_export['Team_count'] <= max_stacks_var]
1285
  if site_var == 'Draftkings':
1286
- name_export = map_mask_parse(name_export, dict(zip(raw_baselines['Player'], raw_baselines['Median'])), projection_var)
1287
- name_export = map_mask_parse(name_export, dict(zip(raw_baselines['Player'], raw_baselines['Own'])), ownership_var)
1288
  elif site_var == 'Fanduel':
1289
- name_export = map_mask_parse(name_export, dict(zip(raw_baselines['Player'], raw_baselines['Median'])), projection_var)
1290
- name_export = map_mask_parse(name_export, dict(zip(raw_baselines['Player'], raw_baselines['Own'])), ownership_var)
1291
 
1292
  reg_opt_col, pm_opt_col = st.columns(2)
1293
  with reg_opt_col:
@@ -1364,11 +1367,11 @@ if selected_tab == 'Optimals':
1364
  st.session_state.data_export_display = st.session_state.data_export_display[st.session_state.data_export_display['salary'] >= salary_min_var]
1365
  st.session_state.data_export_display = st.session_state.data_export_display[st.session_state.data_export_display['salary'] <= salary_max_var]
1366
  if site_var == 'Draftkings':
1367
- st.session_state.data_export_display = map_mask_parse(st.session_state.data_export_display, dict(zip(raw_baselines['Player'], raw_baselines['Median'])), projection_var)
1368
- st.session_state.data_export_display = map_mask_parse(st.session_state.data_export_display, dict(zip(raw_baselines['Player'], raw_baselines['Own'])), ownership_var)
1369
  elif site_var == 'Fanduel':
1370
- st.session_state.data_export_display = map_mask_parse(st.session_state.data_export_display, dict(zip(raw_baselines['Player'], raw_baselines['Median'])), projection_var)
1371
- st.session_state.data_export_display = map_mask_parse(st.session_state.data_export_display, dict(zip(raw_baselines['Player'], raw_baselines['Own'])), ownership_var)
1372
  st.session_state.data_export_display = st.session_state.data_export_display[st.session_state.data_export_display['Team_count'] >= min_stacks_var]
1373
  st.session_state.data_export_display = st.session_state.data_export_display[st.session_state.data_export_display['Team_count'] <= max_stacks_var]
1374
  st.session_state.data_export_display = st.session_state.data_export_display.reset_index(drop=True)
 
517
  return ascii_text
518
 
519
  @st.cache_data
520
+ def map_mask_parse(df: pd.DataFrame, map: dict, threshold: float, site_var: str):
521
+ if site_var == 'Draftkings':
522
+ proj_df = df.iloc[:, :-7].replace(map).astype(float)
523
+ elif site_var == 'Fanduel':
524
+ proj_df = df.iloc[:, :-7].replace(map).astype(float)
525
  print(proj_df.head(10))
526
  mask = (proj_df >= threshold).all(axis=1)
527
  df = df[mask]
 
1275
  data_export = data_export[data_export['Team_count'] >= min_stacks_var]
1276
  data_export = data_export[data_export['Team_count'] <= max_stacks_var]
1277
  if site_var == 'Draftkings':
1278
+ data_export = map_mask_parse(data_export, dict(zip(raw_baselines['Player'].map(dk_id_map), raw_baselines['Median'])), projection_var, site_var)
1279
+ data_export = map_mask_parse(data_export, dict(zip(raw_baselines['Player'].map(dk_id_map), raw_baselines['Own'])), ownership_var, site_var)
1280
  elif site_var == 'Fanduel':
1281
+ data_export = map_mask_parse(data_export, dict(zip(raw_baselines['Player'].map(fd_id_map), raw_baselines['Median'])), projection_var, site_var)
1282
+ data_export = map_mask_parse(data_export, dict(zip(raw_baselines['Player'].map(fd_id_map), raw_baselines['Own'])), ownership_var, site_var)
1283
 
1284
  name_export = name_export[name_export['salary'] >= salary_min_var]
1285
  name_export = name_export[name_export['salary'] <= salary_max_var]
1286
  name_export = name_export[name_export['Team_count'] >= min_stacks_var]
1287
  name_export = name_export[name_export['Team_count'] <= max_stacks_var]
1288
  if site_var == 'Draftkings':
1289
+ name_export = map_mask_parse(name_export, dict(zip(raw_baselines['Player'].map(dk_id_map), raw_baselines['Median'])), projection_var, site_var)
1290
+ name_export = map_mask_parse(name_export, dict(zip(raw_baselines['Player'].map(dk_id_map), raw_baselines['Own'])), ownership_var, site_var)
1291
  elif site_var == 'Fanduel':
1292
+ name_export = map_mask_parse(name_export, dict(zip(raw_baselines['Player'].map(fd_id_map), raw_baselines['Median'])), projection_var, site_var)
1293
+ name_export = map_mask_parse(name_export, dict(zip(raw_baselines['Player'].map(fd_id_map), raw_baselines['Own'])), ownership_var, site_var)
1294
 
1295
  reg_opt_col, pm_opt_col = st.columns(2)
1296
  with reg_opt_col:
 
1367
  st.session_state.data_export_display = st.session_state.data_export_display[st.session_state.data_export_display['salary'] >= salary_min_var]
1368
  st.session_state.data_export_display = st.session_state.data_export_display[st.session_state.data_export_display['salary'] <= salary_max_var]
1369
  if site_var == 'Draftkings':
1370
+ st.session_state.data_export_display = map_mask_parse(st.session_state.data_export_display, dict(zip(raw_baselines['Player'].map(dk_id_map), raw_baselines['Median'])), projection_var, site_var)
1371
+ st.session_state.data_export_display = map_mask_parse(st.session_state.data_export_display, dict(zip(raw_baselines['Player'].map(dk_id_map), raw_baselines['Own'])), ownership_var, site_var)
1372
  elif site_var == 'Fanduel':
1373
+ st.session_state.data_export_display = map_mask_parse(st.session_state.data_export_display, dict(zip(raw_baselines['Player'].map(fd_id_map), raw_baselines['Median'])), projection_var, site_var)
1374
+ st.session_state.data_export_display = map_mask_parse(st.session_state.data_export_display, dict(zip(raw_baselines['Player'].map(fd_id_map), raw_baselines['Own'])), ownership_var, site_var)
1375
  st.session_state.data_export_display = st.session_state.data_export_display[st.session_state.data_export_display['Team_count'] >= min_stacks_var]
1376
  st.session_state.data_export_display = st.session_state.data_export_display[st.session_state.data_export_display['Team_count'] <= max_stacks_var]
1377
  st.session_state.data_export_display = st.session_state.data_export_display.reset_index(drop=True)