James McCool commited on
Commit
a25e372
·
1 Parent(s): 40cfac2

Refactor app.py to replace selectboxes with radio buttons for user input across all tabs, enhancing UI consistency and improving user experience in data selection processes.

Browse files
Files changed (1) hide show
  1. app.py +30 -30
app.py CHANGED
@@ -121,7 +121,7 @@ def convert_df(array):
121
  roo_data, sd_roo_data, scoring_percentages = init_baselines()
122
  hold_display = roo_data
123
 
124
- view_var = st.selectbox("Select view", ["Simple", "Advanced"])
125
 
126
  tab1, tab2, tab3 = st.tabs(["Scoring Percentages", "Player ROO", "Optimals"])
127
 
@@ -138,11 +138,11 @@ with tab1:
138
  for key in st.session_state.keys():
139
  del st.session_state[key]
140
  with col2:
141
- site_var1 = st.selectbox("What site are you working with?", ('Draftkings', 'Fanduel'), key='site_var1')
142
  with col3:
143
- slate_var1 = st.selectbox("Which data are you loading?", ('Main Slate', 'Secondary Slate', 'All Games'), key='slate_var1')
144
  with col4:
145
- own_var1 = st.selectbox("How would you like to display team ownership?", ('Sum', 'Average'), key='own_var1')
146
  st.title("Scoring Percentages")
147
  if view_var == "Simple":
148
  scoring_percentages = scoring_percentages[['Names', 'Avg Score', '8+ runs', 'Win Percentage']]
@@ -164,54 +164,54 @@ with tab2:
164
  for key in st.session_state.keys():
165
  del st.session_state[key]
166
  with col2:
167
- site_var2 = st.selectbox("What site are you working with?", ('Draftkings', 'Fanduel'), key='site_var2')
168
  with col3:
169
- slate_type_var2 = st.selectbox("Which slate type are you loading?", ('Regular', 'Showdown'), key='slate_type_var2')
170
  with col4:
171
- slate_var2 = st.selectbox("Which slate data are you loading?", ('Main', 'Secondary', 'Auxiliary'), key='slate_var2')
172
  with col5:
173
- pos_var2 = st.selectbox("Which position group would you like to view?", ('All', 'Pitchers', 'Hitters'), key='pos_var2')
174
 
175
  if slate_type_var2 == 'Regular':
176
- st.session_state['display_data'] = roo_data.copy()
177
  if site_var2 == 'Draftkings':
178
- st.session_state['display_data']['Site'] = 'Draftkings'
179
 
180
  if pos_var2 == 'All':
181
  pass
182
  elif pos_var2 == 'Pitchers':
183
- st.session_state['display_data'] = st.session_state['display_data'][st.session_state['display_data']['Position'] == 'SP']
184
  elif pos_var2 == 'Hitters':
185
- st.session_state['display_data'] = st.session_state['display_data'][st.session_state['display_data']['Position'] != 'SP']
186
  elif site_var2 == 'Fanduel':
187
- st.session_state['display_data']['Site'] = 'Fanduel'
188
 
189
  if pos_var2 == 'All':
190
  pass
191
  elif pos_var2 == 'Pitchers':
192
- st.session_state['display_data'] = st.session_state['display_data'][st.session_state['display_data']['Position'] == 'P']
193
  elif pos_var2 == 'Hitters':
194
- st.session_state['display_data'] = st.session_state['display_data'][st.session_state['display_data']['Position'] != 'P']
195
 
196
  if slate_var2 == 'Main':
197
- st.session_state['display_data'] = st.session_state['display_data'][st.session_state['display_data']['Slate'] == 'Main']
198
  elif slate_var2 == 'Secondary':
199
- st.session_state['display_data'] = st.session_state['display_data'][st.session_state['display_data']['Slate'] == 'Secondary']
200
  elif slate_var2 == 'Auxiliary':
201
- st.session_state['display_data'] = st.session_state['display_data'][st.session_state['display_data']['Slate'] == 'Auxiliary']
202
 
203
  elif slate_type_var2 == 'Showdown':
204
- st.session_state['display_data'] = sd_roo_data.copy()
205
  if site_var2 == 'Draftkings':
206
- st.session_state['display_data']['Site'] = 'Draftkings'
207
  elif site_var2 == 'Fanduel':
208
- st.session_state['display_data']['Site'] = 'Fanduel'
209
- st.session_state['display_data'] = st.session_state['display_data'].drop(columns=['site', 'slate', 'version', 'timestamp'])
210
  if view_var == "Simple":
211
- st.session_state['display_data'] = st.session_state['display_data'][['Player', 'Position', 'Salary', 'Median', 'Ceiling', 'Own']]
212
- st.dataframe(st.session_state['display_data'].style.background_gradient(axis=0).background_gradient(cmap='RdYlGn').format(player_roo_format, precision=2), height=750, use_container_width = True, hide_index=True)
213
  elif view_var == "Advanced":
214
- st.dataframe(st.session_state['display_data'].style.background_gradient(axis=0).background_gradient(cmap='RdYlGn').format(player_roo_format, precision=2), height=750, use_container_width = True, hide_index=True)
215
 
216
  with tab3:
217
  with st.expander("Info and Filters"):
@@ -224,9 +224,9 @@ with tab3:
224
  for key in st.session_state.keys():
225
  del st.session_state[key]
226
 
227
- site_var3 = st.selectbox("What site are you working with?", ('Draftkings', 'Fanduel'), key='site_var3')
228
- slate_type_var3 = st.selectbox("Which slate type are you loading?", ('Regular', 'Showdown'), key='slate_type_var3')
229
- slate_var3 = st.selectbox("Which slate data are you loading?", ('Main', 'Secondary', 'Auxiliary'), key='slate_var3')
230
 
231
  if slate_type_var3 == 'Regular':
232
  if site_var3 == 'Draftkings':
@@ -256,7 +256,7 @@ with tab3:
256
  max_own = np.max(dk_lineups[:,8])
257
  column_names = dk_columns
258
 
259
- player_var1 = st.selectbox("Do you want a frame with specific Players?", ('Full Slate', 'Specific Players'), key='player_var1')
260
  if player_var1 == 'Specific Players':
261
  player_var2 = st.multiselect('Which players do you want?', options = raw_baselines['Player'].unique())
262
  elif player_var1 == 'Full Slate':
@@ -273,7 +273,7 @@ with tab3:
273
  max_own = np.max(fd_lineups[:,8])
274
  column_names = fd_columns
275
 
276
- player_var1 = st.selectbox("Do you want a frame with specific Players?", ('Full Slate', 'Specific Players'), key='player_var1')
277
  if player_var1 == 'Specific Players':
278
  player_var2 = st.multiselect('Which players do you want?', options = raw_baselines['Player'].unique())
279
  elif player_var1 == 'Full Slate':
 
121
  roo_data, sd_roo_data, scoring_percentages = init_baselines()
122
  hold_display = roo_data
123
 
124
+ view_var = st.radio("Select view", ["Simple", "Advanced"])
125
 
126
  tab1, tab2, tab3 = st.tabs(["Scoring Percentages", "Player ROO", "Optimals"])
127
 
 
138
  for key in st.session_state.keys():
139
  del st.session_state[key]
140
  with col2:
141
+ site_var1 = st.radio("What site are you working with?", ('Draftkings', 'Fanduel'), key='site_var1')
142
  with col3:
143
+ slate_var1 = st.radio("Which data are you loading?", ('Main Slate', 'Secondary Slate', 'All Games'), key='slate_var1')
144
  with col4:
145
+ own_var1 = st.radio("How would you like to display team ownership?", ('Sum', 'Average'), key='own_var1')
146
  st.title("Scoring Percentages")
147
  if view_var == "Simple":
148
  scoring_percentages = scoring_percentages[['Names', 'Avg Score', '8+ runs', 'Win Percentage']]
 
164
  for key in st.session_state.keys():
165
  del st.session_state[key]
166
  with col2:
167
+ site_var2 = st.radio("What site are you working with?", ('Draftkings', 'Fanduel'), key='site_var2')
168
  with col3:
169
+ slate_type_var2 = st.radio("Which slate type are you loading?", ('Regular', 'Showdown'), key='slate_type_var2')
170
  with col4:
171
+ slate_var2 = st.radio("Which slate data are you loading?", ('Main', 'Secondary', 'Auxiliary'), key='slate_var2')
172
  with col5:
173
+ pos_var2 = st.radio("Which position group would you like to view?", ('All', 'Pitchers', 'Hitters'), key='pos_var2')
174
 
175
  if slate_type_var2 == 'Regular':
176
+ player_roo_raw = roo_data.copy()
177
  if site_var2 == 'Draftkings':
178
+ player_roo_raw['Site'] = 'Draftkings'
179
 
180
  if pos_var2 == 'All':
181
  pass
182
  elif pos_var2 == 'Pitchers':
183
+ player_roo_raw = player_roo_raw[player_roo_raw['Position'] == 'SP']
184
  elif pos_var2 == 'Hitters':
185
+ player_roo_raw = player_roo_raw[player_roo_raw['Position'] != 'SP']
186
  elif site_var2 == 'Fanduel':
187
+ player_roo_raw['Site'] = 'Fanduel'
188
 
189
  if pos_var2 == 'All':
190
  pass
191
  elif pos_var2 == 'Pitchers':
192
+ player_roo_raw = player_roo_raw[player_roo_raw['Position'] == 'P']
193
  elif pos_var2 == 'Hitters':
194
+ player_roo_raw = player_roo_raw[player_roo_raw['Position'] != 'P']
195
 
196
  if slate_var2 == 'Main':
197
+ player_roo_raw = player_roo_raw[player_roo_raw['Slate'] == 'Main']
198
  elif slate_var2 == 'Secondary':
199
+ player_roo_raw = player_roo_raw[player_roo_raw['Slate'] == 'Secondary']
200
  elif slate_var2 == 'Auxiliary':
201
+ player_roo_raw = player_roo_raw[player_roo_raw['Slate'] == 'Auxiliary']
202
 
203
  elif slate_type_var2 == 'Showdown':
204
+ player_roo_raw = sd_roo_data.copy()
205
  if site_var2 == 'Draftkings':
206
+ player_roo_raw['Site'] = 'Draftkings'
207
  elif site_var2 == 'Fanduel':
208
+ player_roo_raw['Site'] = 'Fanduel'
209
+ player_roo_raw = player_roo_raw.drop(columns=['site', 'slate', 'version', 'timestamp'])
210
  if view_var == "Simple":
211
+ st.session_state['player_roo'] = st.session_state['player_roo'][['Player', 'Position', 'Salary', 'Median', 'Ceiling', 'Own']]
212
+ st.dataframe(st.session_state['player_roo'].style.background_gradient(axis=0).background_gradient(cmap='RdYlGn').format(player_roo_format, precision=2), height=750, use_container_width = True, hide_index=True)
213
  elif view_var == "Advanced":
214
+ st.dataframe(st.session_state['player_roo'].style.background_gradient(axis=0).background_gradient(cmap='RdYlGn').format(player_roo_format, precision=2), height=750, use_container_width = True, hide_index=True)
215
 
216
  with tab3:
217
  with st.expander("Info and Filters"):
 
224
  for key in st.session_state.keys():
225
  del st.session_state[key]
226
 
227
+ site_var3 = st.radio("What site are you working with?", ('Draftkings', 'Fanduel'), key='site_var3')
228
+ slate_type_var3 = st.radio("Which slate type are you loading?", ('Regular', 'Showdown'), key='slate_type_var3')
229
+ slate_var3 = st.radio("Which slate data are you loading?", ('Main', 'Secondary', 'Auxiliary'), key='slate_var3')
230
 
231
  if slate_type_var3 == 'Regular':
232
  if site_var3 == 'Draftkings':
 
256
  max_own = np.max(dk_lineups[:,8])
257
  column_names = dk_columns
258
 
259
+ player_var1 = st.radio("Do you want a frame with specific Players?", ('Full Slate', 'Specific Players'), key='player_var1')
260
  if player_var1 == 'Specific Players':
261
  player_var2 = st.multiselect('Which players do you want?', options = raw_baselines['Player'].unique())
262
  elif player_var1 == 'Full Slate':
 
273
  max_own = np.max(fd_lineups[:,8])
274
  column_names = fd_columns
275
 
276
+ player_var1 = st.radio("Do you want a frame with specific Players?", ('Full Slate', 'Specific Players'), key='player_var1')
277
  if player_var1 == 'Specific Players':
278
  player_var2 = st.multiselect('Which players do you want?', options = raw_baselines['Player'].unique())
279
  elif player_var1 == 'Full Slate':