Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
@@ -171,41 +171,42 @@ with tab1:
|
|
171 |
stack_var2 = [4, 3, 2, 1, 0]
|
172 |
|
173 |
with col2:
|
174 |
-
if
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
190 |
|
191 |
-
st.
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
st.dataframe(st.session_state.data_export_freq.style.format(percentages_format, precision=2), height=500, use_container_width=True)
|
200 |
-
|
201 |
-
if st.button("Prepare data export", key='data_export'):
|
202 |
-
data_export = st.session_state.working_seed.copy()
|
203 |
-
st.download_button(
|
204 |
-
label="Export optimals set",
|
205 |
-
data=convert_df(data_export),
|
206 |
-
file_name='MLB_optimals_export.csv',
|
207 |
-
mime='text/csv',
|
208 |
-
)
|
209 |
|
210 |
with tab2:
|
211 |
col1, col2 = st.columns([1, 7])
|
@@ -241,41 +242,86 @@ with tab2:
|
|
241 |
|
242 |
|
243 |
with col2:
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
171 |
stack_var2 = [4, 3, 2, 1, 0]
|
172 |
|
173 |
with col2:
|
174 |
+
if st.button("Load Data", key='load_data')
|
175 |
+
if site_var1 == 'Draftkings':
|
176 |
+
|
177 |
+
st.session_state.working_seed = DK_seed.copy()
|
178 |
+
st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 12], team_var2)]
|
179 |
+
st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 13], stack_var2)]
|
180 |
+
st.session_state.data_export_display = pd.DataFrame(st.session_state.working_seed[0:1000], columns=column_names)
|
181 |
+
|
182 |
+
st.session_state.data_export_freq = pd.DataFrame(calculate_DK_value_frequencies(st.session_state.working_seed), columns=['Player', 'Exposure'])
|
183 |
+
st.session_state.data_export_freq = st.session_state.data_export_freq.sort_values(by='Exposure', ascending=False)
|
184 |
+
|
185 |
+
elif site_var1 == 'Fanduel':
|
186 |
+
|
187 |
+
st.session_state.working_seed = FD_seed.copy()
|
188 |
+
st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 11], team_var2)]
|
189 |
+
st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 12], stack_var2)]
|
190 |
+
st.session_state.data_export_display = pd.DataFrame(st.session_state.working_seed[0:1000], columns=column_names)
|
191 |
+
|
192 |
+
st.session_state.data_export_freq = pd.DataFrame(calculate_FD_value_frequencies(st.session_state.working_seed), columns=['Player', 'Exposure'])
|
193 |
+
st.session_state.data_export_freq = st.session_state.data_export_freq.sort_values(by='Exposure', ascending=False)
|
194 |
+
|
195 |
+
with st.container():
|
196 |
+
if 'data_export_display' in st.session_state:
|
197 |
+
st.dataframe(st.session_state.data_export_display.style.format(precision=2), height=500, use_container_width=True)
|
198 |
+
with st.container():
|
199 |
+
if 'data_export_freq' in st.session_state:
|
200 |
+
st.dataframe(st.session_state.data_export_freq.style.format(percentages_format, precision=2), height=500, use_container_width=True)
|
201 |
|
202 |
+
if st.button("Prepare data export", key='data_export'):
|
203 |
+
data_export = st.session_state.working_seed.copy()
|
204 |
+
st.download_button(
|
205 |
+
label="Export optimals set",
|
206 |
+
data=convert_df(data_export),
|
207 |
+
file_name='MLB_optimals_export.csv',
|
208 |
+
mime='text/csv',
|
209 |
+
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
210 |
|
211 |
with tab2:
|
212 |
col1, col2 = st.columns([1, 7])
|
|
|
242 |
|
243 |
|
244 |
with col2:
|
245 |
+
if st.button("Run Contest Sim"):
|
246 |
+
if 'working_seed' in st.session_state:
|
247 |
+
maps_dict = {
|
248 |
+
'Floor_map':dict(zip(raw_baselines.Player,raw_baselines.Floor)),
|
249 |
+
'Projection_map':dict(zip(raw_baselines.Player,raw_baselines.Median)),
|
250 |
+
'Ceiling_map':dict(zip(raw_baselines.Player,raw_baselines.Ceiling)),
|
251 |
+
'Salary_map':dict(zip(raw_baselines.Player,raw_baselines.Salary)),
|
252 |
+
'Pos_map':dict(zip(raw_baselines.Player,raw_baselines.Position)),
|
253 |
+
'Own_map':dict(zip(raw_baselines.Player,raw_baselines['Own%'])),
|
254 |
+
'Small_Own_map':dict(zip(raw_baselines.Player,raw_baselines['Small Field Own%'])),
|
255 |
+
'Large_Own_map':dict(zip(raw_baselines.Player,raw_baselines['Large Field Own%'])),
|
256 |
+
'Team_map':dict(zip(raw_baselines.Player,raw_baselines.Team)),
|
257 |
+
'STDev_map':dict(zip(raw_baselines.Player,raw_baselines.STDev)),
|
258 |
+
'team_check_map':dict(zip(raw_baselines.Player,raw_baselines.Team))
|
259 |
+
}
|
260 |
+
Sim_Winners = sim_contest(500, st.session_state.working_seed)
|
261 |
+
|
262 |
+
st.table(Sim_Winners.head(10))
|
263 |
+
|
264 |
+
# # Initial setup
|
265 |
+
# Sim_Winner_Frame = pd.DataFrame(np.concatenate(Sim_Winners), columns=FinalPortfolio.columns.tolist() + ['Fantasy'])
|
266 |
+
# Sim_Winner_Frame['GPP_Proj'] = (Sim_Winner_Frame['Projection'] + Sim_Winner_Frame['Fantasy']) / 2
|
267 |
+
# Sim_Winner_Frame['unique_id'] = Sim_Winner_Frame['Projection'].astype(str) + Sim_Winner_Frame['Salary'].astype(str) + Sim_Winner_Frame['Own'].astype(str)
|
268 |
+
# Sim_Winner_Frame = Sim_Winner_Frame.assign(win_count=Sim_Winner_Frame['unique_id'].map(Sim_Winner_Frame['unique_id'].value_counts()))
|
269 |
+
|
270 |
+
# # Type Casting
|
271 |
+
# type_cast_dict = {'Salary': int, 'Projection': np.float16, 'Fantasy': np.float16, 'GPP_Proj': np.float32}
|
272 |
+
# Sim_Winner_Frame = Sim_Winner_Frame.astype(type_cast_dict)
|
273 |
+
|
274 |
+
# del FinalPortfolio, insert_port, type_cast_dict
|
275 |
+
|
276 |
+
# # Sorting
|
277 |
+
# st.session_state.Sim_Winner_Frame = Sim_Winner_Frame.sort_values(by=['win_count', 'GPP_Proj'], ascending= [False, False]).copy().drop_duplicates(subset='unique_id').head(100)
|
278 |
+
# st.session_state.Sim_Winner_Frame.drop(columns='unique_id', inplace=True)
|
279 |
+
|
280 |
+
# # Data Copying
|
281 |
+
# st.session_state.Sim_Winner_Export = Sim_Winner_Frame.copy()
|
282 |
+
|
283 |
+
# # Data Copying
|
284 |
+
# st.session_state.Sim_Winner_Display = Sim_Winner_Frame.copy()
|
285 |
+
else:
|
286 |
+
if sim_site_var1 == 'Draftkings':
|
287 |
+
st.session_state.working_seed = DK_seed.copy()
|
288 |
+
elif sim_site_var1 == 'Fanduel':
|
289 |
+
st.session_state.working_seed = FD_seed.copy()
|
290 |
+
maps_dict = {
|
291 |
+
'Floor_map':dict(zip(raw_baselines.Player,raw_baselines.Floor)),
|
292 |
+
'Projection_map':dict(zip(raw_baselines.Player,raw_baselines.Median)),
|
293 |
+
'Ceiling_map':dict(zip(raw_baselines.Player,raw_baselines.Ceiling)),
|
294 |
+
'Salary_map':dict(zip(raw_baselines.Player,raw_baselines.Salary)),
|
295 |
+
'Pos_map':dict(zip(raw_baselines.Player,raw_baselines.Position)),
|
296 |
+
'Own_map':dict(zip(raw_baselines.Player,raw_baselines['Own%'])),
|
297 |
+
'Small_Own_map':dict(zip(raw_baselines.Player,raw_baselines['Small Field Own%'])),
|
298 |
+
'Large_Own_map':dict(zip(raw_baselines.Player,raw_baselines['Large Field Own%'])),
|
299 |
+
'Team_map':dict(zip(raw_baselines.Player,raw_baselines.Team)),
|
300 |
+
'STDev_map':dict(zip(raw_baselines.Player,raw_baselines.STDev)),
|
301 |
+
'team_check_map':dict(zip(raw_baselines.Player,raw_baselines.Team))
|
302 |
+
}
|
303 |
+
Sim_Winners = sim_contest(500, st.session_state.working_seed)
|
304 |
+
|
305 |
+
st.table(Sim_Winners.head(10))
|
306 |
+
|
307 |
+
# # Initial setup
|
308 |
+
# Sim_Winner_Frame = pd.DataFrame(np.concatenate(Sim_Winners), columns=FinalPortfolio.columns.tolist() + ['Fantasy'])
|
309 |
+
# Sim_Winner_Frame['GPP_Proj'] = (Sim_Winner_Frame['Projection'] + Sim_Winner_Frame['Fantasy']) / 2
|
310 |
+
# Sim_Winner_Frame['unique_id'] = Sim_Winner_Frame['Projection'].astype(str) + Sim_Winner_Frame['Salary'].astype(str) + Sim_Winner_Frame['Own'].astype(str)
|
311 |
+
# Sim_Winner_Frame = Sim_Winner_Frame.assign(win_count=Sim_Winner_Frame['unique_id'].map(Sim_Winner_Frame['unique_id'].value_counts()))
|
312 |
+
|
313 |
+
# # Type Casting
|
314 |
+
# type_cast_dict = {'Salary': int, 'Projection': np.float16, 'Fantasy': np.float16, 'GPP_Proj': np.float32}
|
315 |
+
# Sim_Winner_Frame = Sim_Winner_Frame.astype(type_cast_dict)
|
316 |
+
|
317 |
+
# del FinalPortfolio, insert_port, type_cast_dict
|
318 |
+
|
319 |
+
# # Sorting
|
320 |
+
# st.session_state.Sim_Winner_Frame = Sim_Winner_Frame.sort_values(by=['win_count', 'GPP_Proj'], ascending= [False, False]).copy().drop_duplicates(subset='unique_id').head(100)
|
321 |
+
# st.session_state.Sim_Winner_Frame.drop(columns='unique_id', inplace=True)
|
322 |
+
|
323 |
+
# # Data Copying
|
324 |
+
# st.session_state.Sim_Winner_Export = Sim_Winner_Frame.copy()
|
325 |
+
|
326 |
+
# # Data Copying
|
327 |
+
# st.session_state.Sim_Winner_Display = Sim_Winner_Frame.copy()
|