Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -37,6 +37,7 @@ csgo_losses = 'CSGO_Loss_Proj'
|
|
37 |
overall_odds = 'https://docs.google.com/spreadsheets/d/1aLVN4izjSuqZGRyz73Kip6U1q3rubh6v9GrckgEqbfs/edit?pli=1#gid=1545712013'
|
38 |
RPL_odds = 'https://docs.google.com/spreadsheets/d/1aLVN4izjSuqZGRyz73Kip6U1q3rubh6v9GrckgEqbfs/edit?pli=1#gid=1545712013'
|
39 |
csgo_bo1 = 'https://docs.google.com/spreadsheets/d/1aLVN4izjSuqZGRyz73Kip6U1q3rubh6v9GrckgEqbfs/edit?pli=1#gid=1545712013'
|
|
|
40 |
csgo_bo3 = 'https://docs.google.com/spreadsheets/d/1aLVN4izjSuqZGRyz73Kip6U1q3rubh6v9GrckgEqbfs/edit?pli=1#gid=1545712013'
|
41 |
csgo_bo5 = 'https://docs.google.com/spreadsheets/d/1aLVN4izjSuqZGRyz73Kip6U1q3rubh6v9GrckgEqbfs/edit?pli=1#gid=1545712013'
|
42 |
player_baselines = 'https://docs.google.com/spreadsheets/d/1aLVN4izjSuqZGRyz73Kip6U1q3rubh6v9GrckgEqbfs/edit?pli=1#gid=1545712013'
|
@@ -96,7 +97,7 @@ def load_roo_model(URL):
|
|
96 |
@st.cache_data
|
97 |
def load_overall_odds(URL):
|
98 |
sh = gc.open_by_url(URL)
|
99 |
-
worksheet = sh.
|
100 |
raw_display = pd.DataFrame(worksheet.get_all_records())
|
101 |
raw_display['Odds'] = raw_display['Odds'].str.replace('%', '').astype(float)/100
|
102 |
|
@@ -105,7 +106,7 @@ def load_overall_odds(URL):
|
|
105 |
@st.cache_data
|
106 |
def load_rpl_odds(URL):
|
107 |
sh = gc.open_by_url(URL)
|
108 |
-
worksheet = sh.
|
109 |
raw_display = pd.DataFrame(worksheet.get_all_records())
|
110 |
raw_display['Odds'] = raw_display['Odds'].str.replace('%', '').astype(float)/100
|
111 |
raw_display['Vegas'] = raw_display['Vegas'].str.replace('%', '').astype(float)/100
|
@@ -116,7 +117,18 @@ def load_rpl_odds(URL):
|
|
116 |
@st.cache_data
|
117 |
def load_bo1_proj_model(URL):
|
118 |
sh = gc.open_by_url(URL)
|
119 |
-
worksheet = sh.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
120 |
raw_display = pd.DataFrame(worksheet.get_all_records())
|
121 |
raw_display.rename(columns={"Name": "Player"}, inplace = True)
|
122 |
raw_display['Odds%'] = raw_display['Odds%'].str.replace('%', '').astype(float)/100
|
@@ -127,7 +139,7 @@ def load_bo1_proj_model(URL):
|
|
127 |
@st.cache_data
|
128 |
def load_bo3_proj_model(URL):
|
129 |
sh = gc.open_by_url(URL)
|
130 |
-
worksheet = sh.
|
131 |
raw_display = pd.DataFrame(worksheet.get_all_records())
|
132 |
raw_display.rename(columns={"Name": "Player"}, inplace = True)
|
133 |
raw_display['Odds%'] = raw_display['Odds%'].str.replace('%', '').astype(float)/100
|
@@ -138,7 +150,7 @@ def load_bo3_proj_model(URL):
|
|
138 |
@st.cache_data
|
139 |
def load_bo5_proj_model(URL):
|
140 |
sh = gc.open_by_url(URL)
|
141 |
-
worksheet = sh.
|
142 |
raw_display = pd.DataFrame(worksheet.get_all_records())
|
143 |
raw_display.rename(columns={"Name": "Player"}, inplace = True)
|
144 |
raw_display['Odds%'] = raw_display['Odds%'].str.replace('%', '').astype(float)/100
|
@@ -149,7 +161,7 @@ def load_bo5_proj_model(URL):
|
|
149 |
@st.cache_data
|
150 |
def load_slate_baselines(URL):
|
151 |
sh = gc.open_by_url(URL)
|
152 |
-
worksheet = sh.
|
153 |
raw_display = pd.DataFrame(worksheet.get_all_records())
|
154 |
raw_display.rename(columns={"Name": "Player"}, inplace = True)
|
155 |
raw_display = raw_display.sort_values(by='Kills/Round', ascending=False)
|
@@ -158,7 +170,7 @@ def load_slate_baselines(URL):
|
|
158 |
|
159 |
hold_display = load_roo_model(csgo_overall)
|
160 |
|
161 |
-
tab1, tab2, tab3, tab4 = st.tabs(["CSGO Odds Tables", "CSGO Range of Outcomes", "CSGO Player Stat Projections", "CSGO Slate Baselines"])
|
162 |
|
163 |
def convert_df_to_csv(df):
|
164 |
return df.to_csv().encode('utf-8')
|
@@ -251,4 +263,19 @@ with tab4:
|
|
251 |
data=convert_df_to_csv(display),
|
252 |
file_name='CSGO_Baselines_export.csv',
|
253 |
mime='text/csv',
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
254 |
)
|
|
|
37 |
overall_odds = 'https://docs.google.com/spreadsheets/d/1aLVN4izjSuqZGRyz73Kip6U1q3rubh6v9GrckgEqbfs/edit?pli=1#gid=1545712013'
|
38 |
RPL_odds = 'https://docs.google.com/spreadsheets/d/1aLVN4izjSuqZGRyz73Kip6U1q3rubh6v9GrckgEqbfs/edit?pli=1#gid=1545712013'
|
39 |
csgo_bo1 = 'https://docs.google.com/spreadsheets/d/1aLVN4izjSuqZGRyz73Kip6U1q3rubh6v9GrckgEqbfs/edit?pli=1#gid=1545712013'
|
40 |
+
two_map = 'https://docs.google.com/spreadsheets/d/1aLVN4izjSuqZGRyz73Kip6U1q3rubh6v9GrckgEqbfs/edit?pli=1#gid=1545712013'
|
41 |
csgo_bo3 = 'https://docs.google.com/spreadsheets/d/1aLVN4izjSuqZGRyz73Kip6U1q3rubh6v9GrckgEqbfs/edit?pli=1#gid=1545712013'
|
42 |
csgo_bo5 = 'https://docs.google.com/spreadsheets/d/1aLVN4izjSuqZGRyz73Kip6U1q3rubh6v9GrckgEqbfs/edit?pli=1#gid=1545712013'
|
43 |
player_baselines = 'https://docs.google.com/spreadsheets/d/1aLVN4izjSuqZGRyz73Kip6U1q3rubh6v9GrckgEqbfs/edit?pli=1#gid=1545712013'
|
|
|
97 |
@st.cache_data
|
98 |
def load_overall_odds(URL):
|
99 |
sh = gc.open_by_url(URL)
|
100 |
+
worksheet = sh.worksheet('Overall_Vegas')
|
101 |
raw_display = pd.DataFrame(worksheet.get_all_records())
|
102 |
raw_display['Odds'] = raw_display['Odds'].str.replace('%', '').astype(float)/100
|
103 |
|
|
|
106 |
@st.cache_data
|
107 |
def load_rpl_odds(URL):
|
108 |
sh = gc.open_by_url(URL)
|
109 |
+
worksheet = sh.worksheet('RPL_Vegas')
|
110 |
raw_display = pd.DataFrame(worksheet.get_all_records())
|
111 |
raw_display['Odds'] = raw_display['Odds'].str.replace('%', '').astype(float)/100
|
112 |
raw_display['Vegas'] = raw_display['Vegas'].str.replace('%', '').astype(float)/100
|
|
|
117 |
@st.cache_data
|
118 |
def load_bo1_proj_model(URL):
|
119 |
sh = gc.open_by_url(URL)
|
120 |
+
worksheet = sh.worksheet('Overall_BO1_Projections')
|
121 |
+
raw_display = pd.DataFrame(worksheet.get_all_records())
|
122 |
+
raw_display.rename(columns={"Name": "Player"}, inplace = True)
|
123 |
+
raw_display['Odds%'] = raw_display['Odds%'].str.replace('%', '').astype(float)/100
|
124 |
+
raw_display = raw_display.sort_values(by='Kills', ascending=False)
|
125 |
+
|
126 |
+
return raw_display
|
127 |
+
|
128 |
+
@st.cache_data
|
129 |
+
def load_bo2_proj_model(URL):
|
130 |
+
sh = gc.open_by_url(URL)
|
131 |
+
worksheet = sh.worksheet('2_map_projections')
|
132 |
raw_display = pd.DataFrame(worksheet.get_all_records())
|
133 |
raw_display.rename(columns={"Name": "Player"}, inplace = True)
|
134 |
raw_display['Odds%'] = raw_display['Odds%'].str.replace('%', '').astype(float)/100
|
|
|
139 |
@st.cache_data
|
140 |
def load_bo3_proj_model(URL):
|
141 |
sh = gc.open_by_url(URL)
|
142 |
+
worksheet = sh.worksheet('Overall_BO3_Projections')
|
143 |
raw_display = pd.DataFrame(worksheet.get_all_records())
|
144 |
raw_display.rename(columns={"Name": "Player"}, inplace = True)
|
145 |
raw_display['Odds%'] = raw_display['Odds%'].str.replace('%', '').astype(float)/100
|
|
|
150 |
@st.cache_data
|
151 |
def load_bo5_proj_model(URL):
|
152 |
sh = gc.open_by_url(URL)
|
153 |
+
worksheet = sh.worksheet('Overall_BO5_Projections')
|
154 |
raw_display = pd.DataFrame(worksheet.get_all_records())
|
155 |
raw_display.rename(columns={"Name": "Player"}, inplace = True)
|
156 |
raw_display['Odds%'] = raw_display['Odds%'].str.replace('%', '').astype(float)/100
|
|
|
161 |
@st.cache_data
|
162 |
def load_slate_baselines(URL):
|
163 |
sh = gc.open_by_url(URL)
|
164 |
+
worksheet = sh.worksheet('Player_Data')
|
165 |
raw_display = pd.DataFrame(worksheet.get_all_records())
|
166 |
raw_display.rename(columns={"Name": "Player"}, inplace = True)
|
167 |
raw_display = raw_display.sort_values(by='Kills/Round', ascending=False)
|
|
|
170 |
|
171 |
hold_display = load_roo_model(csgo_overall)
|
172 |
|
173 |
+
tab1, tab2, tab3, tab4, tab5 = st.tabs(["CSGO Odds Tables", "CSGO Range of Outcomes", "CSGO Player Stat Projections", "CSGO Slate Baselines", '2-map Projections'])
|
174 |
|
175 |
def convert_df_to_csv(df):
|
176 |
return df.to_csv().encode('utf-8')
|
|
|
263 |
data=convert_df_to_csv(display),
|
264 |
file_name='CSGO_Baselines_export.csv',
|
265 |
mime='text/csv',
|
266 |
+
)
|
267 |
+
|
268 |
+
with tab5:
|
269 |
+
if st.button("Reset Data", key='reset5'):
|
270 |
+
# Clear values from *all* all in-memory and on-disk data caches:
|
271 |
+
# i.e. clear values from both square and cube
|
272 |
+
st.cache_data.clear()
|
273 |
+
hold_display = load_slate_baselines(two_map)
|
274 |
+
display = hold_display.set_index('Player')
|
275 |
+
st.dataframe(display.style.background_gradient(axis=0).background_gradient(cmap='RdYlGn').format(precision=2), use_container_width = True)
|
276 |
+
st.download_button(
|
277 |
+
label="Export Baselines",
|
278 |
+
data=convert_df_to_csv(display),
|
279 |
+
file_name='CSGO_2_map_export.csv',
|
280 |
+
mime='text/csv',
|
281 |
)
|