James McCool commited on
Commit
33016ba
·
1 Parent(s): b107789

Refactor app.py: Removed unused CSS styling and validation steps for player lineups; adjusted indexing for team and stack filtering based on site selection.

Browse files
Files changed (1) hide show
  1. app.py +24 -55
app.py CHANGED
@@ -20,34 +20,6 @@ freq_format = {'Exposure': '{:.2%}', 'Proj Own': '{:.2%}', 'Edge': '{:.2%}'}
20
  dk_columns = ['SP1', 'SP2', 'C', '1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3', 'salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own']
21
  fd_columns = ['P', 'C_1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3', 'UTIL', 'salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own']
22
 
23
- st.markdown("""
24
- <style>
25
- /* Tab styling */
26
- .stTabs [data-baseweb="tab-list"] {
27
- gap: 8px;
28
- padding: 4px;
29
- }
30
- .stTabs [data-baseweb="tab"] {
31
- height: 50px;
32
- white-space: pre-wrap;
33
- background-color: #FFD700;
34
- color: white;
35
- border-radius: 10px;
36
- gap: 1px;
37
- padding: 10px 20px;
38
- font-weight: bold;
39
- transition: all 0.3s ease;
40
- }
41
- .stTabs [aria-selected="true"] {
42
- background-color: #DAA520;
43
- color: white;
44
- }
45
- .stTabs [data-baseweb="tab"]:hover {
46
- background-color: #DAA520;
47
- cursor: pointer;
48
- }
49
- </style>""", unsafe_allow_html=True)
50
-
51
  @st.cache_data(ttl = 60)
52
  def init_DK_seed_frames(sharp_split):
53
 
@@ -69,12 +41,6 @@ def init_DK_seed_frames(sharp_split):
69
  dict_columns = ['SP1', 'SP2', 'C', '1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3']
70
  # Map names
71
  raw_display[dict_columns] = raw_display[dict_columns].apply(lambda x: x.map(names_dict))
72
-
73
- # Validate lineups against valid players
74
- raw_display = validate_lineup_players(raw_display, valid_players, dict_columns)
75
-
76
- # Remove any remaining NaN values
77
- raw_display = raw_display.dropna()
78
  DK_seed = raw_display.to_numpy()
79
 
80
  return DK_seed
@@ -101,9 +67,6 @@ def init_DK_secondary_seed_frames(sharp_split):
101
  # Map names
102
  raw_display[dict_columns] = raw_display[dict_columns].apply(lambda x: x.map(names_dict))
103
 
104
- # Validate lineups against valid players
105
- raw_display = validate_lineup_players(raw_display, valid_players, dict_columns)
106
-
107
  # Remove any remaining NaN values
108
  raw_display = raw_display.dropna()
109
  DK_seed = raw_display.to_numpy()
@@ -128,13 +91,10 @@ def init_FD_seed_frames(sharp_split):
128
 
129
  raw_display = pd.DataFrame(list(cursor))
130
  raw_display = raw_display[['P', 'C_1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3', 'UTIL', 'salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own']]
131
- dict_columns = ['P', 'C_1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3', 'UTIL']
132
  # Map names
133
  raw_display[dict_columns] = raw_display[dict_columns].apply(lambda x: x.map(names_dict))
134
 
135
- # Validate lineups against valid players
136
- raw_display = validate_lineup_players(raw_display, valid_players, dict_columns)
137
-
138
  # Remove any remaining NaN values
139
  raw_display = raw_display.dropna()
140
  FD_seed = raw_display.to_numpy()
@@ -159,13 +119,10 @@ def init_FD_secondary_seed_frames(sharp_split):
159
 
160
  raw_display = pd.DataFrame(list(cursor))
161
  raw_display = raw_display[['P', 'C_1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3', 'UTIL', 'salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own']]
162
- dict_columns = ['P', 'C_1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3', 'UTIL']
163
  # Map names
164
  raw_display[dict_columns] = raw_display[dict_columns].apply(lambda x: x.map(names_dict))
165
 
166
- # Validate lineups against valid players
167
- raw_display = validate_lineup_players(raw_display, valid_players, dict_columns)
168
-
169
  # Remove any remaining NaN values
170
  raw_display = raw_display.dropna()
171
  FD_seed = raw_display.to_numpy()
@@ -683,8 +640,12 @@ with tab2:
683
 
684
  if st.button("Prepare data export", key='data_export'):
685
  if 'working_seed' in st.session_state:
686
- st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 11], team_var2)]
687
- st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 10], stack_var2)]
 
 
 
 
688
  st.session_state.data_export_display = st.session_state.working_seed[0:lineup_num_var]
689
  elif 'working_seed' not in st.session_state:
690
  if site_var1 == 'Draftkings':
@@ -714,8 +675,12 @@ with tab2:
714
  fd_id_dict = dict(zip(fd_raw.Player, fd_raw.player_id))
715
  raw_baselines = fd_raw
716
  column_names = fd_columns
717
- st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 11], team_var2)]
718
- st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 10], stack_var2)]
 
 
 
 
719
  st.session_state.data_export_display = st.session_state.working_seed[0:lineup_num_var]
720
  data_export = st.session_state.working_seed.copy()
721
  st.download_button(
@@ -730,8 +695,12 @@ with tab2:
730
  if st.button("Load Data", key='load_data'):
731
  if site_var1 == 'Draftkings':
732
  if 'working_seed' in st.session_state:
733
- st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 11], team_var2)]
734
- st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 10], stack_var2)]
 
 
 
 
735
  st.session_state.data_export_display = pd.DataFrame(st.session_state.working_seed[0:lineup_num_var], columns=column_names)
736
  elif 'working_seed' not in st.session_state:
737
  if slate_var1 == 'Main Slate':
@@ -741,14 +710,14 @@ with tab2:
741
  raw_baselines = dk_raw
742
  column_names = dk_columns
743
 
744
- st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 11], team_var2)]
745
- st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 10], stack_var2)]
746
  st.session_state.data_export_display = pd.DataFrame(st.session_state.working_seed[0:lineup_num_var], columns=column_names)
747
 
748
  elif site_var1 == 'Fanduel':
749
  if 'working_seed' in st.session_state:
750
  st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 11], team_var2)]
751
- st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 10], stack_var2)]
752
  st.session_state.data_export_display = pd.DataFrame(st.session_state.working_seed[0:lineup_num_var], columns=column_names)
753
  elif 'working_seed' not in st.session_state:
754
  if slate_var1 == 'Main Slate':
@@ -758,7 +727,7 @@ with tab2:
758
  raw_baselines = fd_raw
759
  column_names = fd_columns
760
  st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 11], team_var2)]
761
- st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 10], stack_var2)]
762
  st.session_state.data_export_display = pd.DataFrame(st.session_state.working_seed[0:lineup_num_var], columns=column_names)
763
 
764
  with st.container():
 
20
  dk_columns = ['SP1', 'SP2', 'C', '1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3', 'salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own']
21
  fd_columns = ['P', 'C_1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3', 'UTIL', 'salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own']
22
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
23
  @st.cache_data(ttl = 60)
24
  def init_DK_seed_frames(sharp_split):
25
 
 
41
  dict_columns = ['SP1', 'SP2', 'C', '1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3']
42
  # Map names
43
  raw_display[dict_columns] = raw_display[dict_columns].apply(lambda x: x.map(names_dict))
 
 
 
 
 
 
44
  DK_seed = raw_display.to_numpy()
45
 
46
  return DK_seed
 
67
  # Map names
68
  raw_display[dict_columns] = raw_display[dict_columns].apply(lambda x: x.map(names_dict))
69
 
 
 
 
70
  # Remove any remaining NaN values
71
  raw_display = raw_display.dropna()
72
  DK_seed = raw_display.to_numpy()
 
91
 
92
  raw_display = pd.DataFrame(list(cursor))
93
  raw_display = raw_display[['P', 'C_1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3', 'UTIL', 'salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own']]
94
+ dict_columns = ['P', 'C_1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3']
95
  # Map names
96
  raw_display[dict_columns] = raw_display[dict_columns].apply(lambda x: x.map(names_dict))
97
 
 
 
 
98
  # Remove any remaining NaN values
99
  raw_display = raw_display.dropna()
100
  FD_seed = raw_display.to_numpy()
 
119
 
120
  raw_display = pd.DataFrame(list(cursor))
121
  raw_display = raw_display[['P', 'C_1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3', 'UTIL', 'salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own']]
122
+ dict_columns = ['P', 'C_1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3']
123
  # Map names
124
  raw_display[dict_columns] = raw_display[dict_columns].apply(lambda x: x.map(names_dict))
125
 
 
 
 
126
  # Remove any remaining NaN values
127
  raw_display = raw_display.dropna()
128
  FD_seed = raw_display.to_numpy()
 
640
 
641
  if st.button("Prepare data export", key='data_export'):
642
  if 'working_seed' in st.session_state:
643
+ if site_var1 == 'Draftkings':
644
+ st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 12], team_var2)]
645
+ st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 13], stack_var2)]
646
+ elif site_var1 == 'Fanduel':
647
+ st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 11], team_var2)]
648
+ st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 12], stack_var2)]
649
  st.session_state.data_export_display = st.session_state.working_seed[0:lineup_num_var]
650
  elif 'working_seed' not in st.session_state:
651
  if site_var1 == 'Draftkings':
 
675
  fd_id_dict = dict(zip(fd_raw.Player, fd_raw.player_id))
676
  raw_baselines = fd_raw
677
  column_names = fd_columns
678
+ if site_var1 == 'Draftkings':
679
+ st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 12], team_var2)]
680
+ st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 13], stack_var2)]
681
+ elif site_var1 == 'Fanduel':
682
+ st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 11], team_var2)]
683
+ st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 12], stack_var2)]
684
  st.session_state.data_export_display = st.session_state.working_seed[0:lineup_num_var]
685
  data_export = st.session_state.working_seed.copy()
686
  st.download_button(
 
695
  if st.button("Load Data", key='load_data'):
696
  if site_var1 == 'Draftkings':
697
  if 'working_seed' in st.session_state:
698
+ if site_var1 == 'Draftkings':
699
+ st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 12], team_var2)]
700
+ st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 13], stack_var2)]
701
+ elif site_var1 == 'Fanduel':
702
+ st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 11], team_var2)]
703
+ st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 12], stack_var2)]
704
  st.session_state.data_export_display = pd.DataFrame(st.session_state.working_seed[0:lineup_num_var], columns=column_names)
705
  elif 'working_seed' not in st.session_state:
706
  if slate_var1 == 'Main Slate':
 
710
  raw_baselines = dk_raw
711
  column_names = dk_columns
712
 
713
+ st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 12], team_var2)]
714
+ st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 13], stack_var2)]
715
  st.session_state.data_export_display = pd.DataFrame(st.session_state.working_seed[0:lineup_num_var], columns=column_names)
716
 
717
  elif site_var1 == 'Fanduel':
718
  if 'working_seed' in st.session_state:
719
  st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 11], team_var2)]
720
+ st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 12], stack_var2)]
721
  st.session_state.data_export_display = pd.DataFrame(st.session_state.working_seed[0:lineup_num_var], columns=column_names)
722
  elif 'working_seed' not in st.session_state:
723
  if slate_var1 == 'Main Slate':
 
727
  raw_baselines = fd_raw
728
  column_names = fd_columns
729
  st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 11], team_var2)]
730
+ st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 12], stack_var2)]
731
  st.session_state.data_export_display = pd.DataFrame(st.session_state.working_seed[0:lineup_num_var], columns=column_names)
732
 
733
  with st.container():