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').
|