Spaces:
Running
Running
James McCool
commited on
Commit
·
1549530
1
Parent(s):
53b9faf
Add player and scenario filtering to Gamelogs display
Browse filesEnhance the Gamelogs tab with new filtering capabilities:
- Add player search dropdown to filter gamelogs by specific player
- Implement scenario filtering for wins, losses, or all games
- Maintain existing display formatting and gradient styling
app.py
CHANGED
@@ -616,10 +616,11 @@ if st.button("Run"):
|
|
616 |
else:
|
617 |
st.session_state.team_data, st.session_state.opp_boost, st.session_state.results_dict, st.session_state.gamelogs = init_player_data(game_count, selected_players, selected_opponent, win_loss_settings, kill_predictions, death_predictions, start_date, end_date)
|
618 |
|
619 |
-
st.session_state.gamelogs_display = st.session_state.gamelogs[['date', 'teamname', 'Opponent', 'playername', 'position', 'result', 'kills', 'playername_avg_kills_win', 'deaths', 'playername_avg_deaths_win', 'assists', 'playername_avg_assists_win', 'total_cs', 'playername_avg_total_cs_win', 'fantasy']]
|
620 |
st.session_state.gamelogs_display = st.session_state.gamelogs_display.rename(columns = {'teamname': 'Team', 'Opponent': 'Opp', 'playername': 'Player',
|
621 |
'position': 'Pos', 'result': 'W/L', 'playername_avg_kills_win': 'Avg_Kill_Win',
|
622 |
'playername_avg_deaths_win': 'Avg_Death_Win', 'playername_avg_assists_win': 'Avg_Assist_Win', 'playername_avg_total_cs_win': 'Avg_CS_Win',
|
|
|
623 |
'kills': 'Kill', 'deaths': 'Death', 'assists': 'Assist', 'total_cs': 'CS', 'fantasy': 'Fantasy'})
|
624 |
st.session_state.gamelogs_display = st.session_state.gamelogs_display[st.session_state.gamelogs_display['Pos'] != 'team']
|
625 |
st.session_state.gamelogs_display = st.session_state.gamelogs_display.sort_values(by = ['date'], ascending = False)
|
@@ -788,4 +789,19 @@ with tab3:
|
|
788 |
with tab4:
|
789 |
if 'gamelogs_display' in st.session_state:
|
790 |
st.subheader("Gamelogs")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
791 |
st.dataframe(st.session_state.gamelogs_display.style.background_gradient(axis=0).background_gradient(cmap='RdYlGn').format(precision=2), use_container_width = True)
|
|
|
616 |
else:
|
617 |
st.session_state.team_data, st.session_state.opp_boost, st.session_state.results_dict, st.session_state.gamelogs = init_player_data(game_count, selected_players, selected_opponent, win_loss_settings, kill_predictions, death_predictions, start_date, end_date)
|
618 |
|
619 |
+
st.session_state.gamelogs_display = st.session_state.gamelogs[['date', 'teamname', 'Opponent', 'playername', 'position', 'result', 'kills', 'playername_avg_kills_win', 'playername_avg_kills_loss', 'deaths', 'playername_avg_deaths_win', 'playername_avg_deaths_loss', 'assists', 'playername_avg_assists_win', 'playername_avg_assists_loss', 'total_cs', 'playername_avg_total_cs_win', 'playername_avg_total_cs_loss', 'fantasy']]
|
620 |
st.session_state.gamelogs_display = st.session_state.gamelogs_display.rename(columns = {'teamname': 'Team', 'Opponent': 'Opp', 'playername': 'Player',
|
621 |
'position': 'Pos', 'result': 'W/L', 'playername_avg_kills_win': 'Avg_Kill_Win',
|
622 |
'playername_avg_deaths_win': 'Avg_Death_Win', 'playername_avg_assists_win': 'Avg_Assist_Win', 'playername_avg_total_cs_win': 'Avg_CS_Win',
|
623 |
+
'playername_avg_kills_loss': 'Avg_Kill_Loss', 'playername_avg_deaths_loss': 'Avg_Death_Loss', 'playername_avg_assists_loss': 'Avg_Assist_Loss', 'playername_avg_total_cs_loss': 'Avg_CS_Loss',
|
624 |
'kills': 'Kill', 'deaths': 'Death', 'assists': 'Assist', 'total_cs': 'CS', 'fantasy': 'Fantasy'})
|
625 |
st.session_state.gamelogs_display = st.session_state.gamelogs_display[st.session_state.gamelogs_display['Pos'] != 'team']
|
626 |
st.session_state.gamelogs_display = st.session_state.gamelogs_display.sort_values(by = ['date'], ascending = False)
|
|
|
789 |
with tab4:
|
790 |
if 'gamelogs_display' in st.session_state:
|
791 |
st.subheader("Gamelogs")
|
792 |
+
with st.container():
|
793 |
+
col1, col2 = st.columns([4, 4])
|
794 |
+
with col1:
|
795 |
+
player_search = st.selectbox("Search for a player", st.session_state.gamelogs_display['Player'].unique().tolist())
|
796 |
+
with col2:
|
797 |
+
scenario_search = st.selectbox("Wins, Losses, or All games?", ['Wins', 'Losses', 'All'])
|
798 |
+
|
799 |
+
st.session_state.gamelogs_display = st.session_state.gamelogs_display[st.session_state.gamelogs_display['Player'] == player_search]
|
800 |
+
if scenario_search == 'Wins':
|
801 |
+
st.session_state.gamelogs_display = st.session_state.gamelogs_display[st.session_state.gamelogs_display['W/L'] == 1]
|
802 |
+
elif scenario_search == 'Losses':
|
803 |
+
st.session_state.gamelogs_display = st.session_state.gamelogs_display[st.session_state.gamelogs_display['W/L'] == 0]
|
804 |
+
else:
|
805 |
+
st.session_state.gamelogs_display = st.session_state.gamelogs_display
|
806 |
+
|
807 |
st.dataframe(st.session_state.gamelogs_display.style.background_gradient(axis=0).background_gradient(cmap='RdYlGn').format(precision=2), use_container_width = True)
|