James McCool commited on
Commit
2ea483c
·
1 Parent(s): 51c1a0b

Refactor Streamlit app to streamline data handling and improve display logic

Browse files

- Updated data retrieval to drop unnecessary '_id' columns from DataFrames for various tables.
- Enhanced display logic by storing DataFrames in session state for better performance and user experience.
- Improved organization of data presentation across different tabs for pitchers, hitters, and teams.

Files changed (1) hide show
  1. src/streamlit_app.py +33 -27
src/streamlit_app.py CHANGED
@@ -64,31 +64,31 @@ def init_baselines():
64
  df = pd.DataFrame(cursor)
65
 
66
  if table == 'Bullpen_Data':
67
- bp_data = df
68
  elif table == 'Hitter_Agg_Merge':
69
- hitter_agg = df
70
  elif table == 'Hitter_Long_Merge':
71
- hitter_long = df
72
  elif table == 'Hitter_Short_Merge':
73
- hitter_short = df
74
  elif table == 'Pitcher_Agg_Merge':
75
- pitcher_agg = df
76
  elif table == 'Pitcher_Long_Merge':
77
- pitcher_long = df
78
  elif table == 'Pitcher_Short_Merge':
79
- pitcher_short = df
80
  elif table == 'Slate_Hitters_Merge':
81
- slate_hitters = df
82
  elif table == 'Slate_Team_Merge':
83
- slate_team = df
84
  elif table == 'Starting_Pitchers':
85
- starting_pitchers = df
86
  elif table == 'True_AVG_Split':
87
- true_avg_split = df
88
  elif table == 'Pitcher_Info':
89
- pitcher_info = df
90
  elif table == 'Hitter_Info':
91
- hitter_info = df
92
 
93
  return bp_data, hitter_agg, hitter_long, hitter_short, pitcher_agg, pitcher_long, pitcher_short, slate_hitters, slate_team, starting_pitchers, true_avg_split, pitcher_info, hitter_info
94
 
@@ -108,19 +108,21 @@ with pitcher_tab:
108
  splits_var_sp = st.selectbox('Splits', ['Overall', 'RHH', 'LHH'], key = 'splits_var_sp')
109
 
110
  if table_var_sp == 'True AVG Splits':
111
- st.dataframe(true_avg_split)
112
  elif table_var_sp == 'HWSr Splits':
113
- st.dataframe(true_avg_split)
114
  elif table_var_sp == 'Current Slate Overview':
115
- st.dataframe(starting_pitchers)
116
  elif table_var_sp == 'Active Baselines':
117
- st.dataframe(pitcher_info)
118
  elif table_var_sp == 'League Aggregate Baselines':
119
- st.dataframe(pitcher_agg)
120
  elif table_var_sp == 'League Short Term Baselines':
121
- st.dataframe(pitcher_short)
122
  elif table_var_sp == 'League Long Term Baselines':
123
- st.dataframe(pitcher_long)
 
 
124
 
125
  with hitter_tab:
126
  with st.expander('Info and Display Options'):
@@ -134,15 +136,17 @@ with hitter_tab:
134
  splits_var_hitter = st.selectbox('Splits', ['Overall', 'RHP', 'LHP'], key = 'splits_var_hitter')
135
 
136
  if table_var_hitter == 'Current Slate Overview':
137
- st.dataframe(starting_pitchers)
138
  elif table_var_hitter == 'Active Baselines':
139
- st.dataframe(hitter_info)
140
  elif table_var_hitter == 'League Aggregate Baselines':
141
- st.dataframe(hitter_agg)
142
  elif table_var_hitter == 'League Short Term Baselines':
143
- st.dataframe(hitter_short)
144
  elif table_var_hitter == 'League Long Term Baselines':
145
- st.dataframe(hitter_long)
 
 
146
 
147
  with team_tab:
148
  with st.expander('Info and Display Options'):
@@ -153,6 +157,8 @@ with team_tab:
153
  table_var_team = st.selectbox('Table', ['Team Baselines', 'Bullpen Baselines'], key = 'table_var_team')
154
 
155
  if table_var_team == 'Team Baselines':
156
- st.dataframe(slate_team)
157
  elif table_var_team == 'Bullpen Baselines':
158
- st.dataframe(bp_data)
 
 
 
64
  df = pd.DataFrame(cursor)
65
 
66
  if table == 'Bullpen_Data':
67
+ bp_data = df.drop(columns = ['_id'])
68
  elif table == 'Hitter_Agg_Merge':
69
+ hitter_agg = df.drop(columns = ['_id'])
70
  elif table == 'Hitter_Long_Merge':
71
+ hitter_long = df.drop(columns = ['_id'])
72
  elif table == 'Hitter_Short_Merge':
73
+ hitter_short = df.drop(columns = ['_id'])
74
  elif table == 'Pitcher_Agg_Merge':
75
+ pitcher_agg = df.drop(columns = ['_id'])
76
  elif table == 'Pitcher_Long_Merge':
77
+ pitcher_long = df.drop(columns = ['_id'])
78
  elif table == 'Pitcher_Short_Merge':
79
+ pitcher_short = df.drop(columns = ['_id'])
80
  elif table == 'Slate_Hitters_Merge':
81
+ slate_hitters = df.drop(columns = ['_id'])
82
  elif table == 'Slate_Team_Merge':
83
+ slate_team = df.drop(columns = ['_id'])
84
  elif table == 'Starting_Pitchers':
85
+ starting_pitchers = df.drop(columns = ['_id'])
86
  elif table == 'True_AVG_Split':
87
+ true_avg_split = df.drop(columns = ['_id'])
88
  elif table == 'Pitcher_Info':
89
+ pitcher_info = df.drop(columns = ['_id'])
90
  elif table == 'Hitter_Info':
91
+ hitter_info = df.drop(columns = ['_id'])
92
 
93
  return bp_data, hitter_agg, hitter_long, hitter_short, pitcher_agg, pitcher_long, pitcher_short, slate_hitters, slate_team, starting_pitchers, true_avg_split, pitcher_info, hitter_info
94
 
 
108
  splits_var_sp = st.selectbox('Splits', ['Overall', 'RHH', 'LHH'], key = 'splits_var_sp')
109
 
110
  if table_var_sp == 'True AVG Splits':
111
+ st.session_state['sp_disp_frame'] = true_avg_split
112
  elif table_var_sp == 'HWSr Splits':
113
+ st.session_state['sp_disp_frame'] = true_avg_split
114
  elif table_var_sp == 'Current Slate Overview':
115
+ st.session_state['sp_disp_frame'] = starting_pitchers
116
  elif table_var_sp == 'Active Baselines':
117
+ st.session_state['sp_disp_frame'] = pitcher_info
118
  elif table_var_sp == 'League Aggregate Baselines':
119
+ st.session_state['sp_disp_frame'] = pitcher_agg
120
  elif table_var_sp == 'League Short Term Baselines':
121
+ st.session_state['sp_disp_frame'] = pitcher_short
122
  elif table_var_sp == 'League Long Term Baselines':
123
+ st.session_state['sp_disp_frame'] = pitcher_long
124
+
125
+ st.dataframe(st.session_state['sp_disp_frame'])
126
 
127
  with hitter_tab:
128
  with st.expander('Info and Display Options'):
 
136
  splits_var_hitter = st.selectbox('Splits', ['Overall', 'RHP', 'LHP'], key = 'splits_var_hitter')
137
 
138
  if table_var_hitter == 'Current Slate Overview':
139
+ st.session_state['hitter_disp_frame'] = starting_pitchers
140
  elif table_var_hitter == 'Active Baselines':
141
+ st.session_state['hitter_disp_frame'] = hitter_info
142
  elif table_var_hitter == 'League Aggregate Baselines':
143
+ st.session_state['hitter_disp_frame'] = hitter_agg
144
  elif table_var_hitter == 'League Short Term Baselines':
145
+ st.session_state['hitter_disp_frame'] = hitter_short
146
  elif table_var_hitter == 'League Long Term Baselines':
147
+ st.session_state['hitter_disp_frame'] = hitter_long
148
+
149
+ st.dataframe(st.session_state['hitter_disp_frame'])
150
 
151
  with team_tab:
152
  with st.expander('Info and Display Options'):
 
157
  table_var_team = st.selectbox('Table', ['Team Baselines', 'Bullpen Baselines'], key = 'table_var_team')
158
 
159
  if table_var_team == 'Team Baselines':
160
+ st.session_state['team_disp_frame'] = slate_team
161
  elif table_var_team == 'Bullpen Baselines':
162
+ st.session_state['team_disp_frame'] = bp_data
163
+
164
+ st.dataframe(st.session_state['team_disp_frame'])