Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
|
@@ -305,10 +305,10 @@ with tab2:
|
|
| 305 |
st.session_state.Sim_Winner_Display = Sim_Winner_Frame.copy()
|
| 306 |
|
| 307 |
if sim_site_var1 == 'Draftkings':
|
| 308 |
-
st.session_state.player_freq = pd.DataFrame(np.column_stack(np.unique(st.session_state.Sim_Winner_Display.iloc[:,0:
|
| 309 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
| 310 |
-
elif sim_site_var1 == '
|
| 311 |
-
st.session_state.player_freq = pd.DataFrame(np.column_stack(np.unique(st.session_state.Sim_Winner_Display.iloc[:,0:
|
| 312 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
| 313 |
st.session_state.player_freq['Freq'] = st.session_state.player_freq['Freq'].astype(int)
|
| 314 |
st.session_state.player_freq['Position'] = st.session_state.player_freq['Player'].map(maps_dict['Pos_map'])
|
|
@@ -321,7 +321,7 @@ with tab2:
|
|
| 321 |
if sim_site_var1 == 'Draftkings':
|
| 322 |
st.session_state.sp_freq = pd.DataFrame(np.column_stack(np.unique(st.session_state.Sim_Winner_Display.iloc[:,0:2].values, return_counts=True)),
|
| 323 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
| 324 |
-
elif sim_site_var1 == '
|
| 325 |
st.session_state.sp_freq = pd.DataFrame(np.column_stack(np.unique(st.session_state.Sim_Winner_Display.iloc[:,0:1].values, return_counts=True)),
|
| 326 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
| 327 |
st.session_state.sp_freq['Freq'] = st.session_state.sp_freq['Freq'].astype(int)
|
|
@@ -332,6 +332,24 @@ with tab2:
|
|
| 332 |
st.session_state.sp_freq['Edge'] = st.session_state.sp_freq['Exposure'] - st.session_state.sp_freq['Proj Own']
|
| 333 |
st.session_state.sp_freq['Team'] = st.session_state.sp_freq['Player'].map(maps_dict['Team_map'])
|
| 334 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 335 |
with st.container():
|
| 336 |
st.dataframe(st.session_state.Sim_Winner_Frame)
|
| 337 |
|
|
@@ -345,6 +363,7 @@ with tab2:
|
|
| 345 |
data=st.session_state.player_freq.to_csv().encode('utf-8'),
|
| 346 |
file_name='player_freq_export.csv',
|
| 347 |
mime='text/csv',
|
|
|
|
| 348 |
)
|
| 349 |
with tab2:
|
| 350 |
if 'sp_freq' in st.session_state:
|
|
@@ -354,6 +373,27 @@ with tab2:
|
|
| 354 |
data=st.session_state.sp_freq.to_csv().encode('utf-8'),
|
| 355 |
file_name='player_freq_export.csv',
|
| 356 |
mime='text/csv',
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 357 |
)
|
| 358 |
else:
|
| 359 |
if sim_site_var1 == 'Draftkings':
|
|
@@ -391,8 +431,6 @@ with tab2:
|
|
| 391 |
# Sorting
|
| 392 |
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)
|
| 393 |
st.session_state.Sim_Winner_Frame.drop(columns='unique_id', inplace=True)
|
| 394 |
-
|
| 395 |
-
st.dataframe(st.session_state.Sim_Winner_Frame)
|
| 396 |
|
| 397 |
# Data Copying
|
| 398 |
st.session_state.Sim_Winner_Export = Sim_Winner_Frame.copy()
|
|
@@ -459,7 +497,7 @@ with tab2:
|
|
| 459 |
data=st.session_state.player_freq.to_csv().encode('utf-8'),
|
| 460 |
file_name='player_freq_export.csv',
|
| 461 |
mime='text/csv',
|
| 462 |
-
key='
|
| 463 |
)
|
| 464 |
with tab2:
|
| 465 |
if 'sp_freq' in st.session_state:
|
|
@@ -469,7 +507,7 @@ with tab2:
|
|
| 469 |
data=st.session_state.sp_freq.to_csv().encode('utf-8'),
|
| 470 |
file_name='player_freq_export.csv',
|
| 471 |
mime='text/csv',
|
| 472 |
-
key='
|
| 473 |
)
|
| 474 |
with tab3:
|
| 475 |
if 'team_freq' in st.session_state:
|
|
@@ -479,7 +517,7 @@ with tab2:
|
|
| 479 |
data=st.session_state.team_freq.to_csv().encode('utf-8'),
|
| 480 |
file_name='player_freq_export.csv',
|
| 481 |
mime='text/csv',
|
| 482 |
-
key='
|
| 483 |
)
|
| 484 |
with tab4:
|
| 485 |
if 'stack_freq' in st.session_state:
|
|
@@ -489,5 +527,5 @@ with tab2:
|
|
| 489 |
data=st.session_state.stack_freq.to_csv().encode('utf-8'),
|
| 490 |
file_name='player_freq_export.csv',
|
| 491 |
mime='text/csv',
|
| 492 |
-
key='
|
| 493 |
)
|
|
|
|
| 305 |
st.session_state.Sim_Winner_Display = Sim_Winner_Frame.copy()
|
| 306 |
|
| 307 |
if sim_site_var1 == 'Draftkings':
|
| 308 |
+
st.session_state.player_freq = pd.DataFrame(np.column_stack(np.unique(st.session_state.Sim_Winner_Display.iloc[:,0:10].values, return_counts=True)),
|
| 309 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
| 310 |
+
elif sim_site_var1 == 'Fanduel':
|
| 311 |
+
st.session_state.player_freq = pd.DataFrame(np.column_stack(np.unique(st.session_state.Sim_Winner_Display.iloc[:,0:9].values, return_counts=True)),
|
| 312 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
| 313 |
st.session_state.player_freq['Freq'] = st.session_state.player_freq['Freq'].astype(int)
|
| 314 |
st.session_state.player_freq['Position'] = st.session_state.player_freq['Player'].map(maps_dict['Pos_map'])
|
|
|
|
| 321 |
if sim_site_var1 == 'Draftkings':
|
| 322 |
st.session_state.sp_freq = pd.DataFrame(np.column_stack(np.unique(st.session_state.Sim_Winner_Display.iloc[:,0:2].values, return_counts=True)),
|
| 323 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
| 324 |
+
elif sim_site_var1 == 'Fanduel':
|
| 325 |
st.session_state.sp_freq = pd.DataFrame(np.column_stack(np.unique(st.session_state.Sim_Winner_Display.iloc[:,0:1].values, return_counts=True)),
|
| 326 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
| 327 |
st.session_state.sp_freq['Freq'] = st.session_state.sp_freq['Freq'].astype(int)
|
|
|
|
| 332 |
st.session_state.sp_freq['Edge'] = st.session_state.sp_freq['Exposure'] - st.session_state.sp_freq['Proj Own']
|
| 333 |
st.session_state.sp_freq['Team'] = st.session_state.sp_freq['Player'].map(maps_dict['Team_map'])
|
| 334 |
|
| 335 |
+
if sim_site_var1 == 'Draftkings':
|
| 336 |
+
st.session_state.team_freq = pd.DataFrame(np.column_stack(np.unique(st.session_state.Sim_Winner_Display.iloc[:,12:13].values, return_counts=True)),
|
| 337 |
+
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
| 338 |
+
elif sim_site_var1 == 'Fanduel':
|
| 339 |
+
st.session_state.team_freq = pd.DataFrame(np.column_stack(np.unique(st.session_state.Sim_Winner_Display.iloc[:,11:12].values, return_counts=True)),
|
| 340 |
+
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
| 341 |
+
st.session_state.team_freq['Freq'] = st.session_state.team_freq['Freq'].astype(int)
|
| 342 |
+
st.session_state.team_freq['Exposure'] = st.session_state.team_freq['Freq']/(1000)
|
| 343 |
+
|
| 344 |
+
if sim_site_var1 == 'Draftkings':
|
| 345 |
+
st.session_state.stack_freq = pd.DataFrame(np.column_stack(np.unique(st.session_state.Sim_Winner_Display.iloc[:,13:14].values, return_counts=True)),
|
| 346 |
+
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
| 347 |
+
elif sim_site_var1 == 'Fanduel':
|
| 348 |
+
st.session_state.stack_freq = pd.DataFrame(np.column_stack(np.unique(st.session_state.Sim_Winner_Display.iloc[:,12:13].values, return_counts=True)),
|
| 349 |
+
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
| 350 |
+
st.session_state.stack_freq['Freq'] = st.session_state.stack_freq['Freq'].astype(int)
|
| 351 |
+
st.session_state.stack_freq['Exposure'] = st.session_state.stack_freq['Freq']/(1000)
|
| 352 |
+
|
| 353 |
with st.container():
|
| 354 |
st.dataframe(st.session_state.Sim_Winner_Frame)
|
| 355 |
|
|
|
|
| 363 |
data=st.session_state.player_freq.to_csv().encode('utf-8'),
|
| 364 |
file_name='player_freq_export.csv',
|
| 365 |
mime='text/csv',
|
| 366 |
+
key='overall'
|
| 367 |
)
|
| 368 |
with tab2:
|
| 369 |
if 'sp_freq' in st.session_state:
|
|
|
|
| 373 |
data=st.session_state.sp_freq.to_csv().encode('utf-8'),
|
| 374 |
file_name='player_freq_export.csv',
|
| 375 |
mime='text/csv',
|
| 376 |
+
key='sp'
|
| 377 |
+
)
|
| 378 |
+
with tab3:
|
| 379 |
+
if 'team_freq' in st.session_state:
|
| 380 |
+
st.dataframe(st.session_state.team_freq.style.background_gradient(axis=0).background_gradient(cmap='RdYlGn').format(percentages_format, precision=2), use_container_width = True)
|
| 381 |
+
st.download_button(
|
| 382 |
+
label="Export Exposures",
|
| 383 |
+
data=st.session_state.team_freq.to_csv().encode('utf-8'),
|
| 384 |
+
file_name='player_freq_export.csv',
|
| 385 |
+
mime='text/csv',
|
| 386 |
+
key='team'
|
| 387 |
+
)
|
| 388 |
+
with tab4:
|
| 389 |
+
if 'stack_freq' in st.session_state:
|
| 390 |
+
st.dataframe(st.session_state.stack_freq.style.background_gradient(axis=0).background_gradient(cmap='RdYlGn').format(percentages_format, precision=2), use_container_width = True)
|
| 391 |
+
st.download_button(
|
| 392 |
+
label="Export Exposures",
|
| 393 |
+
data=st.session_state.stack_freq.to_csv().encode('utf-8'),
|
| 394 |
+
file_name='player_freq_export.csv',
|
| 395 |
+
mime='text/csv',
|
| 396 |
+
key='stack'
|
| 397 |
)
|
| 398 |
else:
|
| 399 |
if sim_site_var1 == 'Draftkings':
|
|
|
|
| 431 |
# Sorting
|
| 432 |
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)
|
| 433 |
st.session_state.Sim_Winner_Frame.drop(columns='unique_id', inplace=True)
|
|
|
|
|
|
|
| 434 |
|
| 435 |
# Data Copying
|
| 436 |
st.session_state.Sim_Winner_Export = Sim_Winner_Frame.copy()
|
|
|
|
| 497 |
data=st.session_state.player_freq.to_csv().encode('utf-8'),
|
| 498 |
file_name='player_freq_export.csv',
|
| 499 |
mime='text/csv',
|
| 500 |
+
key='overall'
|
| 501 |
)
|
| 502 |
with tab2:
|
| 503 |
if 'sp_freq' in st.session_state:
|
|
|
|
| 507 |
data=st.session_state.sp_freq.to_csv().encode('utf-8'),
|
| 508 |
file_name='player_freq_export.csv',
|
| 509 |
mime='text/csv',
|
| 510 |
+
key='sp'
|
| 511 |
)
|
| 512 |
with tab3:
|
| 513 |
if 'team_freq' in st.session_state:
|
|
|
|
| 517 |
data=st.session_state.team_freq.to_csv().encode('utf-8'),
|
| 518 |
file_name='player_freq_export.csv',
|
| 519 |
mime='text/csv',
|
| 520 |
+
key='team'
|
| 521 |
)
|
| 522 |
with tab4:
|
| 523 |
if 'stack_freq' in st.session_state:
|
|
|
|
| 527 |
data=st.session_state.stack_freq.to_csv().encode('utf-8'),
|
| 528 |
file_name='player_freq_export.csv',
|
| 529 |
mime='text/csv',
|
| 530 |
+
key='stack'
|
| 531 |
)
|