Multichem commited on
Commit
c350673
·
1 Parent(s): d0b9163

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +118 -72
app.py CHANGED
@@ -171,41 +171,42 @@ with tab1:
171
  stack_var2 = [4, 3, 2, 1, 0]
172
 
173
  with col2:
174
- if site_var1 == 'Draftkings':
175
-
176
- st.session_state.working_seed = DK_seed.copy()
177
- st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 12], team_var2)]
178
- st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 13], stack_var2)]
179
- st.session_state.data_export_display = pd.DataFrame(st.session_state.working_seed[0:1000], columns=column_names)
180
-
181
- st.session_state.data_export_freq = pd.DataFrame(calculate_DK_value_frequencies(st.session_state.working_seed), columns=['Player', 'Exposure'])
182
- st.session_state.data_export_freq = st.session_state.data_export_freq.sort_values(by='Exposure', ascending=False)
183
-
184
- elif site_var1 == 'Fanduel':
185
-
186
- st.session_state.working_seed = FD_seed.copy()
187
- st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 11], team_var2)]
188
- st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 12], stack_var2)]
189
- st.session_state.data_export_display = pd.DataFrame(st.session_state.working_seed[0:1000], columns=column_names)
 
 
 
 
 
 
 
 
 
 
 
190
 
191
- st.session_state.data_export_freq = pd.DataFrame(calculate_FD_value_frequencies(st.session_state.working_seed), columns=['Player', 'Exposure'])
192
- st.session_state.data_export_freq = st.session_state.data_export_freq.sort_values(by='Exposure', ascending=False)
193
-
194
- with st.container():
195
- if 'data_export_display' in st.session_state:
196
- st.dataframe(st.session_state.data_export_display.style.format(precision=2), height=500, use_container_width=True)
197
- with st.container():
198
- if 'data_export_freq' in st.session_state:
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
- maps_dict = {
245
- 'Floor_map':dict(zip(raw_baselines.Player,raw_baselines.Floor)),
246
- 'Projection_map':dict(zip(raw_baselines.Player,raw_baselines.Median)),
247
- 'Ceiling_map':dict(zip(raw_baselines.Player,raw_baselines.Ceiling)),
248
- 'Salary_map':dict(zip(raw_baselines.Player,raw_baselines.Salary)),
249
- 'Pos_map':dict(zip(raw_baselines.Player,raw_baselines.Position)),
250
- 'Own_map':dict(zip(raw_baselines.Player,raw_baselines.Own)),
251
- 'Small_Own_map':dict(zip(raw_baselines.Player,raw_baselines['Small Field Own%'])),
252
- 'Large_Own_map':dict(zip(raw_baselines.Player,raw_baselines['Large Field Own%'])),
253
- 'Team_map':dict(zip(raw_baselines.Player,raw_baselines.Team)),
254
- 'STDev_map':dict(zip(raw_baselines.Player,raw_baselines.STDev)),
255
- 'team_check_map':dict(zip(raw_baselines.Player,raw_baselines.Team))
256
- }
257
- Sim_Winners = sim_contest(500, st.session_state.working_seed)
258
-
259
- st.table(Sim_Winners.head(10))
260
-
261
- # # Initial setup
262
- # Sim_Winner_Frame = pd.DataFrame(np.concatenate(Sim_Winners), columns=FinalPortfolio.columns.tolist() + ['Fantasy'])
263
- # Sim_Winner_Frame['GPP_Proj'] = (Sim_Winner_Frame['Projection'] + Sim_Winner_Frame['Fantasy']) / 2
264
- # Sim_Winner_Frame['unique_id'] = Sim_Winner_Frame['Projection'].astype(str) + Sim_Winner_Frame['Salary'].astype(str) + Sim_Winner_Frame['Own'].astype(str)
265
- # Sim_Winner_Frame = Sim_Winner_Frame.assign(win_count=Sim_Winner_Frame['unique_id'].map(Sim_Winner_Frame['unique_id'].value_counts()))
266
-
267
- # # Type Casting
268
- # type_cast_dict = {'Salary': int, 'Projection': np.float16, 'Fantasy': np.float16, 'GPP_Proj': np.float32}
269
- # Sim_Winner_Frame = Sim_Winner_Frame.astype(type_cast_dict)
270
-
271
- # del FinalPortfolio, insert_port, type_cast_dict
272
-
273
- # # Sorting
274
- # 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)
275
- # st.session_state.Sim_Winner_Frame.drop(columns='unique_id', inplace=True)
276
-
277
- # # Data Copying
278
- # st.session_state.Sim_Winner_Export = Sim_Winner_Frame.copy()
279
-
280
- # # Data Copying
281
- # st.session_state.Sim_Winner_Display = Sim_Winner_Frame.copy()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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()