James McCool
commited on
Commit
·
81184ae
1
Parent(s):
9792614
Enhance player filtering in app.py by adding position selection feature
Browse files- Introduced a radio button for selecting player positions, allowing users to filter displayed players based on their chosen positions.
- Updated the player frame to include a position column and applied a mask to filter players according to the selected positions, improving data relevance and user experience.
app.py
CHANGED
@@ -209,12 +209,22 @@ with tab2:
|
|
209 |
with st.container():
|
210 |
tab1, tab2, tab3, tab4 = st.tabs(['Player Used Info', 'Stack Used Info', 'Stack Size Info', 'General Info'])
|
211 |
with tab1:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
212 |
|
213 |
if entry_parse_var == 'All':
|
214 |
st.session_state['player_frame'] = create_player_exposures(working_df, player_columns)
|
215 |
hold_frame = st.session_state['player_frame'].copy()
|
216 |
hold_frame['Pos'] = hold_frame['Player'].map(map_dict['pos_map'])
|
217 |
-
st.session_state['player_frame'].insert(
|
|
|
|
|
218 |
st.dataframe(st.session_state['player_frame'].
|
219 |
sort_values(by='Exposure Overall', ascending=False).
|
220 |
style.background_gradient(cmap='RdYlGn').
|
@@ -224,7 +234,9 @@ with tab2:
|
|
224 |
st.session_state['player_frame'] = create_player_exposures(working_df, player_columns, entry_names)
|
225 |
hold_frame = st.session_state['player_frame'].copy()
|
226 |
hold_frame['Pos'] = hold_frame['Player'].map(map_dict['pos_map'])
|
227 |
-
st.session_state['player_frame'].insert(
|
|
|
|
|
228 |
st.dataframe(st.session_state['player_frame'].
|
229 |
sort_values(by='Exposure Overall', ascending=False).
|
230 |
style.background_gradient(cmap='RdYlGn').
|
|
|
209 |
with st.container():
|
210 |
tab1, tab2, tab3, tab4 = st.tabs(['Player Used Info', 'Stack Used Info', 'Stack Size Info', 'General Info'])
|
211 |
with tab1:
|
212 |
+
col1, col2 = st.columns(2)
|
213 |
+
with col1:
|
214 |
+
pos_var = st.radio('All Positions or Select?', ['All', 'Select'])
|
215 |
+
with col2:
|
216 |
+
if pos_var == 'Select':
|
217 |
+
pos_list = st.multiselect('Select Positions', ['P', 'C', '1B', '2B', '3B', 'SS', 'OF'])
|
218 |
+
else:
|
219 |
+
pos_list = ['P', 'C', '1B', '2B', '3B', 'SS', 'OF']
|
220 |
|
221 |
if entry_parse_var == 'All':
|
222 |
st.session_state['player_frame'] = create_player_exposures(working_df, player_columns)
|
223 |
hold_frame = st.session_state['player_frame'].copy()
|
224 |
hold_frame['Pos'] = hold_frame['Player'].map(map_dict['pos_map'])
|
225 |
+
st.session_state['player_frame'].insert(1, 'Pos', hold_frame['Pos'])
|
226 |
+
position_mask = st.session_state['player_frame']['Pos'].apply(lambda x: any(pos in x for pos in pos_list))
|
227 |
+
st.session_state['player_frame'] = st.session_state['player_frame'][position_mask]
|
228 |
st.dataframe(st.session_state['player_frame'].
|
229 |
sort_values(by='Exposure Overall', ascending=False).
|
230 |
style.background_gradient(cmap='RdYlGn').
|
|
|
234 |
st.session_state['player_frame'] = create_player_exposures(working_df, player_columns, entry_names)
|
235 |
hold_frame = st.session_state['player_frame'].copy()
|
236 |
hold_frame['Pos'] = hold_frame['Player'].map(map_dict['pos_map'])
|
237 |
+
st.session_state['player_frame'].insert(1, 'Pos', hold_frame['Pos'])
|
238 |
+
position_mask = st.session_state['player_frame']['Pos'].apply(lambda x: any(pos in x for pos in pos_list))
|
239 |
+
st.session_state['player_frame'] = st.session_state['player_frame'][position_mask]
|
240 |
st.dataframe(st.session_state['player_frame'].
|
241 |
sort_values(by='Exposure Overall', ascending=False).
|
242 |
style.background_gradient(cmap='RdYlGn').
|