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()
|