James McCool commited on
Commit
265891c
·
1 Parent(s): 5fe15cf

adjusting stacking sports logic

Browse files
Files changed (1) hide show
  1. app.py +17 -31
app.py CHANGED
@@ -30,7 +30,8 @@ from global_func.reassess_edge import reassess_edge
30
 
31
  freq_format = {'Finish_percentile': '{:.2%}', 'Lineup Edge': '{:.2%}', 'Win%': '{:.2%}'}
32
  stacking_sports = ['MLB', 'NHL', 'NFL', 'LOL', 'NCAAF']
33
- all_column_stack_sports = ['LOL', 'NCAAF', 'WNBA', 'NBA', 'CS2']
 
34
  player_wrong_names_mlb = ['Enrique Hernandez', 'Joseph Cantillo', 'Mike Soroka', 'Jakob Bauers', 'Temi Fágbénlé']
35
  player_right_names_mlb = ['Kike Hernandez', 'Joey Cantillo', 'Michael Soroka', 'Jake Bauers', 'Temi Fagbenle']
36
 
@@ -441,39 +442,24 @@ if selected_tab == 'Data Load':
441
  # Update projections with matched names
442
  projections['player_names'] = projections['player_names'].map(lambda x: projections_match_dict.get(x, x))
443
  st.session_state['projections_df'] = projections
 
444
 
445
  if sport_var in stacking_sports:
446
  team_dict = dict(zip(st.session_state['projections_df']['player_names'], st.session_state['projections_df']['team']))
447
- if sport_var in all_column_stack_sports:
448
- st.session_state['portfolio']['Stack'] = st.session_state['portfolio'].apply(
449
- lambda row: Counter(
450
- team_dict.get(player, '') for player in row
451
- if team_dict.get(player, '') != ''
452
- ).most_common(1)[0][0] if any(team_dict.get(player, '') for player in row) else '',
453
- axis=1
454
- )
455
- st.session_state['portfolio']['Size'] = st.session_state['portfolio'].apply(
456
- lambda row: Counter(
457
- team_dict.get(player, '') for player in row
458
- if team_dict.get(player, '') != ''
459
- ).most_common(1)[0][1] if any(team_dict.get(player, '') for player in row) else 0,
460
- axis=1
461
- )
462
- else:
463
- st.session_state['portfolio']['Stack'] = st.session_state['portfolio'].apply(
464
- lambda row: Counter(
465
- team_dict.get(player, '') for player in row[2:]
466
- if team_dict.get(player, '') != ''
467
- ).most_common(1)[0][0] if any(team_dict.get(player, '') for player in row[2:]) else '',
468
- axis=1
469
- )
470
- st.session_state['portfolio']['Size'] = st.session_state['portfolio'].apply(
471
- lambda row: Counter(
472
- team_dict.get(player, '') for player in row[2:]
473
- if team_dict.get(player, '') != ''
474
- ).most_common(1)[0][1] if any(team_dict.get(player, '') for player in row[2:]) else 0,
475
- axis=1
476
- )
477
  st.session_state['stack_dict'] = dict(zip(st.session_state['portfolio'].index, st.session_state['portfolio']['Stack']))
478
  st.session_state['size_dict'] = dict(zip(st.session_state['portfolio'].index, st.session_state['portfolio']['Size']))
479
 
 
30
 
31
  freq_format = {'Finish_percentile': '{:.2%}', 'Lineup Edge': '{:.2%}', 'Win%': '{:.2%}'}
32
  stacking_sports = ['MLB', 'NHL', 'NFL', 'LOL', 'NCAAF']
33
+ # all_column_stack_sports = ['LOL', 'NCAAF', 'WNBA', 'NBA', 'CS2']
34
+ exclude_stacks = ['BaseName', 'EntryCount', 'SP', 'SP1', 'SP2', 'P1', 'P2', 'RB1', 'RB2', 'DST', 'G']
35
  player_wrong_names_mlb = ['Enrique Hernandez', 'Joseph Cantillo', 'Mike Soroka', 'Jakob Bauers', 'Temi Fágbénlé']
36
  player_right_names_mlb = ['Kike Hernandez', 'Joey Cantillo', 'Michael Soroka', 'Jake Bauers', 'Temi Fagbenle']
37
 
 
442
  # Update projections with matched names
443
  projections['player_names'] = projections['player_names'].map(lambda x: projections_match_dict.get(x, x))
444
  st.session_state['projections_df'] = projections
445
+ st.session_state['stack_columns'] = [col for col in st.session_state['portfolio'].columns if col not in exclude_stacks]
446
 
447
  if sport_var in stacking_sports:
448
  team_dict = dict(zip(st.session_state['projections_df']['player_names'], st.session_state['projections_df']['team']))
449
+ st.session_state['portfolio']['Stack'] = st.session_state['portfolio'].apply(
450
+ lambda row: Counter(
451
+ team_dict.get(player, '') for player in row[st.session_state['stack_columns']]
452
+ if team_dict.get(player, '') != ''
453
+ ).most_common(1)[0][0] if any(team_dict.get(player, '') for player in row[st.session_state['stack_columns']]) else '',
454
+ axis=1
455
+ )
456
+ st.session_state['portfolio']['Size'] = st.session_state['portfolio'].apply(
457
+ lambda row: Counter(
458
+ team_dict.get(player, '') for player in row[st.session_state['stack_columns']]
459
+ if team_dict.get(player, '') != ''
460
+ ).most_common(1)[0][1] if any(team_dict.get(player, '') for player in row[st.session_state['stack_columns']]) else 0,
461
+ axis=1
462
+ )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
463
  st.session_state['stack_dict'] = dict(zip(st.session_state['portfolio'].index, st.session_state['portfolio']['Stack']))
464
  st.session_state['size_dict'] = dict(zip(st.session_state['portfolio'].index, st.session_state['portfolio']['Size']))
465