Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -356,13 +356,13 @@ with tab1:
|
|
| 356 |
|
| 357 |
# Data Copying
|
| 358 |
st.session_state.Sim_Winner_Display = Sim_Winner_Frame.copy()
|
| 359 |
-
freq_copy = st.session_state.Sim_Winner_Display
|
| 360 |
|
| 361 |
if sim_site_var1 == 'Draftkings':
|
| 362 |
-
freq_working = pd.DataFrame(np.column_stack(np.unique(freq_copy.iloc[:,0:9].values, return_counts=True)),
|
| 363 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
| 364 |
elif sim_site_var1 == 'Fanduel':
|
| 365 |
-
freq_working = pd.DataFrame(np.column_stack(np.unique(freq_copy.iloc[:,0:9].values, return_counts=True)),
|
| 366 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
| 367 |
freq_working['Freq'] = freq_working['Freq'].astype(int)
|
| 368 |
freq_working['Position'] = freq_working['Player'].map(maps_dict['Pos_map'])
|
|
@@ -374,10 +374,10 @@ with tab1:
|
|
| 374 |
st.session_state.player_freq = freq_working.copy()
|
| 375 |
|
| 376 |
if sim_site_var1 == 'Draftkings':
|
| 377 |
-
qb_working = pd.DataFrame(np.column_stack(np.unique(freq_copy.iloc[:,0:1].values, return_counts=True)),
|
| 378 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
| 379 |
elif sim_site_var1 == 'Fanduel':
|
| 380 |
-
qb_working = pd.DataFrame(np.column_stack(np.unique(freq_copy.iloc[:,0:1].values, return_counts=True)),
|
| 381 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
| 382 |
qb_working['Freq'] = qb_working['Freq'].astype(int)
|
| 383 |
qb_working['Position'] = qb_working['Player'].map(maps_dict['Pos_map'])
|
|
@@ -389,10 +389,10 @@ with tab1:
|
|
| 389 |
st.session_state.qb_freq = qb_working.copy()
|
| 390 |
|
| 391 |
if sim_site_var1 == 'Draftkings':
|
| 392 |
-
rbwrte_working = pd.DataFrame(np.column_stack(np.unique(freq_copy.iloc[:,1:7].values, return_counts=True)),
|
| 393 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
| 394 |
elif sim_site_var1 == 'Fanduel':
|
| 395 |
-
rbwrte_working = pd.DataFrame(np.column_stack(np.unique(freq_copy.iloc[:,1:7].values, return_counts=True)),
|
| 396 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
| 397 |
rbwrte_working['Freq'] = rbwrte_working['Freq'].astype(int)
|
| 398 |
rbwrte_working['Position'] = rbwrte_working['Player'].map(maps_dict['Pos_map'])
|
|
@@ -404,10 +404,10 @@ with tab1:
|
|
| 404 |
st.session_state.rbwrte_freq = rbwrte_working.copy()
|
| 405 |
|
| 406 |
if sim_site_var1 == 'Draftkings':
|
| 407 |
-
rb_working = pd.DataFrame(np.column_stack(np.unique(freq_copy.iloc[:,1:3].values, return_counts=True)),
|
| 408 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
| 409 |
elif sim_site_var1 == 'Fanduel':
|
| 410 |
-
rb_working = pd.DataFrame(np.column_stack(np.unique(freq_copy.iloc[:,1:3].values, return_counts=True)),
|
| 411 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
| 412 |
rb_working['Freq'] = rb_working['Freq'].astype(int)
|
| 413 |
rb_working['Position'] = rb_working['Player'].map(maps_dict['Pos_map'])
|
|
@@ -419,10 +419,10 @@ with tab1:
|
|
| 419 |
st.session_state.rb_freq = rb_working.copy()
|
| 420 |
|
| 421 |
if sim_site_var1 == 'Draftkings':
|
| 422 |
-
wr_working = pd.DataFrame(np.column_stack(np.unique(freq_copy.iloc[:,3:6].values, return_counts=True)),
|
| 423 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
| 424 |
elif sim_site_var1 == 'Fanduel':
|
| 425 |
-
wr_working = pd.DataFrame(np.column_stack(np.unique(freq_copy.iloc[:,3:6].values, return_counts=True)),
|
| 426 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
| 427 |
wr_working['Freq'] = wr_working['Freq'].astype(int)
|
| 428 |
wr_working['Position'] = wr_working['Player'].map(maps_dict['Pos_map'])
|
|
@@ -434,10 +434,10 @@ with tab1:
|
|
| 434 |
st.session_state.wr_freq = wr_working.copy()
|
| 435 |
|
| 436 |
if sim_site_var1 == 'Draftkings':
|
| 437 |
-
te_working = pd.DataFrame(np.column_stack(np.unique(freq_copy.iloc[:,6:7].values, return_counts=True)),
|
| 438 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
| 439 |
elif sim_site_var1 == 'Fanduel':
|
| 440 |
-
te_working = pd.DataFrame(np.column_stack(np.unique(freq_copy.iloc[:,6:7].values, return_counts=True)),
|
| 441 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
| 442 |
te_working['Freq'] = te_working['Freq'].astype(int)
|
| 443 |
te_working['Position'] = te_working['Player'].map(maps_dict['Pos_map'])
|
|
@@ -449,10 +449,10 @@ with tab1:
|
|
| 449 |
st.session_state.te_freq = te_working.copy()
|
| 450 |
|
| 451 |
if sim_site_var1 == 'Draftkings':
|
| 452 |
-
flex_working = pd.DataFrame(np.column_stack(np.unique(freq_copy.iloc[:,7:8].values, return_counts=True)),
|
| 453 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
| 454 |
elif sim_site_var1 == 'Fanduel':
|
| 455 |
-
flex_working = pd.DataFrame(np.column_stack(np.unique(freq_copy.iloc[:,7:8].values, return_counts=True)),
|
| 456 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
| 457 |
flex_working['Freq'] = flex_working['Freq'].astype(int)
|
| 458 |
flex_working['Position'] = flex_working['Player'].map(maps_dict['Pos_map'])
|
|
@@ -464,10 +464,10 @@ with tab1:
|
|
| 464 |
st.session_state.flex_freq = flex_working.copy()
|
| 465 |
|
| 466 |
if sim_site_var1 == 'Draftkings':
|
| 467 |
-
dst_working = pd.DataFrame(np.column_stack(np.unique(freq_copy.iloc[:,8:9].values, return_counts=True)),
|
| 468 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
| 469 |
elif sim_site_var1 == 'Fanduel':
|
| 470 |
-
dst_working = pd.DataFrame(np.column_stack(np.unique(freq_copy.iloc[:,8:9].values, return_counts=True)),
|
| 471 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
| 472 |
dst_working['Freq'] = dst_working['Freq'].astype(int)
|
| 473 |
dst_working['Position'] = dst_working['Player'].map(maps_dict['Pos_map'])
|
|
@@ -479,10 +479,10 @@ with tab1:
|
|
| 479 |
st.session_state.dst_freq = dst_working.copy()
|
| 480 |
|
| 481 |
if sim_site_var1 == 'Draftkings':
|
| 482 |
-
team_working = pd.DataFrame(np.column_stack(np.unique(freq_copy.iloc[:,11:12].values, return_counts=True)),
|
| 483 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
| 484 |
elif sim_site_var1 == 'Fanduel':
|
| 485 |
-
team_working = pd.DataFrame(np.column_stack(np.unique(freq_copy.iloc[:,11:12].values, return_counts=True)),
|
| 486 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
| 487 |
team_working['Freq'] = team_working['Freq'].astype(int)
|
| 488 |
team_working['Exposure'] = team_working['Freq']/(1000)
|
|
@@ -522,27 +522,32 @@ with tab1:
|
|
| 522 |
'Salary': [
|
| 523 |
st.session_state.Sim_Winner_Display['salary'].min(),
|
| 524 |
st.session_state.Sim_Winner_Display['salary'].mean(),
|
| 525 |
-
st.session_state.Sim_Winner_Display['salary'].max()
|
|
|
|
| 526 |
],
|
| 527 |
'Proj': [
|
| 528 |
st.session_state.Sim_Winner_Display['proj'].min(),
|
| 529 |
st.session_state.Sim_Winner_Display['proj'].mean(),
|
| 530 |
-
st.session_state.Sim_Winner_Display['proj'].max()
|
|
|
|
| 531 |
],
|
| 532 |
'Own': [
|
| 533 |
st.session_state.Sim_Winner_Display['Own'].min(),
|
| 534 |
st.session_state.Sim_Winner_Display['Own'].mean(),
|
| 535 |
-
st.session_state.Sim_Winner_Display['Own'].max()
|
|
|
|
| 536 |
],
|
| 537 |
'Fantasy': [
|
| 538 |
st.session_state.Sim_Winner_Display['Fantasy'].min(),
|
| 539 |
st.session_state.Sim_Winner_Display['Fantasy'].mean(),
|
| 540 |
-
st.session_state.Sim_Winner_Display['Fantasy'].max()
|
|
|
|
| 541 |
],
|
| 542 |
'GPP_Proj': [
|
| 543 |
st.session_state.Sim_Winner_Display['GPP_Proj'].min(),
|
| 544 |
st.session_state.Sim_Winner_Display['GPP_Proj'].mean(),
|
| 545 |
-
st.session_state.Sim_Winner_Display['GPP_Proj'].max()
|
|
|
|
| 546 |
]
|
| 547 |
})
|
| 548 |
|
|
@@ -561,13 +566,13 @@ with tab1:
|
|
| 561 |
with tab2:
|
| 562 |
if 'Sim_Winner_Display' in st.session_state:
|
| 563 |
# Apply position mapping to FLEX column
|
| 564 |
-
flex_positions = freq_copy['FLEX'].map(maps_dict['Pos_map'])
|
| 565 |
|
| 566 |
# Count occurrences of each position in FLEX
|
| 567 |
flex_counts = flex_positions.value_counts()
|
| 568 |
|
| 569 |
# Calculate average statistics for each FLEX position
|
| 570 |
-
flex_stats = freq_copy.groupby(flex_positions).agg({
|
| 571 |
'proj': 'mean',
|
| 572 |
'Own': 'mean',
|
| 573 |
'Fantasy': 'mean',
|
|
|
|
| 356 |
|
| 357 |
# Data Copying
|
| 358 |
st.session_state.Sim_Winner_Display = Sim_Winner_Frame.copy()
|
| 359 |
+
st.session_state.freq_copy = st.session_state.Sim_Winner_Display
|
| 360 |
|
| 361 |
if sim_site_var1 == 'Draftkings':
|
| 362 |
+
freq_working = pd.DataFrame(np.column_stack(np.unique(st.session_state.freq_copy.iloc[:,0:9].values, return_counts=True)),
|
| 363 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
| 364 |
elif sim_site_var1 == 'Fanduel':
|
| 365 |
+
freq_working = pd.DataFrame(np.column_stack(np.unique(st.session_state.freq_copy.iloc[:,0:9].values, return_counts=True)),
|
| 366 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
| 367 |
freq_working['Freq'] = freq_working['Freq'].astype(int)
|
| 368 |
freq_working['Position'] = freq_working['Player'].map(maps_dict['Pos_map'])
|
|
|
|
| 374 |
st.session_state.player_freq = freq_working.copy()
|
| 375 |
|
| 376 |
if sim_site_var1 == 'Draftkings':
|
| 377 |
+
qb_working = pd.DataFrame(np.column_stack(np.unique(st.session_state.freq_copy.iloc[:,0:1].values, return_counts=True)),
|
| 378 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
| 379 |
elif sim_site_var1 == 'Fanduel':
|
| 380 |
+
qb_working = pd.DataFrame(np.column_stack(np.unique(st.session_state.freq_copy.iloc[:,0:1].values, return_counts=True)),
|
| 381 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
| 382 |
qb_working['Freq'] = qb_working['Freq'].astype(int)
|
| 383 |
qb_working['Position'] = qb_working['Player'].map(maps_dict['Pos_map'])
|
|
|
|
| 389 |
st.session_state.qb_freq = qb_working.copy()
|
| 390 |
|
| 391 |
if sim_site_var1 == 'Draftkings':
|
| 392 |
+
rbwrte_working = pd.DataFrame(np.column_stack(np.unique(st.session_state.freq_copy.iloc[:,1:7].values, return_counts=True)),
|
| 393 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
| 394 |
elif sim_site_var1 == 'Fanduel':
|
| 395 |
+
rbwrte_working = pd.DataFrame(np.column_stack(np.unique(st.session_state.freq_copy.iloc[:,1:7].values, return_counts=True)),
|
| 396 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
| 397 |
rbwrte_working['Freq'] = rbwrte_working['Freq'].astype(int)
|
| 398 |
rbwrte_working['Position'] = rbwrte_working['Player'].map(maps_dict['Pos_map'])
|
|
|
|
| 404 |
st.session_state.rbwrte_freq = rbwrte_working.copy()
|
| 405 |
|
| 406 |
if sim_site_var1 == 'Draftkings':
|
| 407 |
+
rb_working = pd.DataFrame(np.column_stack(np.unique(st.session_state.freq_copy.iloc[:,1:3].values, return_counts=True)),
|
| 408 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
| 409 |
elif sim_site_var1 == 'Fanduel':
|
| 410 |
+
rb_working = pd.DataFrame(np.column_stack(np.unique(st.session_state.freq_copy.iloc[:,1:3].values, return_counts=True)),
|
| 411 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
| 412 |
rb_working['Freq'] = rb_working['Freq'].astype(int)
|
| 413 |
rb_working['Position'] = rb_working['Player'].map(maps_dict['Pos_map'])
|
|
|
|
| 419 |
st.session_state.rb_freq = rb_working.copy()
|
| 420 |
|
| 421 |
if sim_site_var1 == 'Draftkings':
|
| 422 |
+
wr_working = pd.DataFrame(np.column_stack(np.unique(st.session_state.freq_copy.iloc[:,3:6].values, return_counts=True)),
|
| 423 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
| 424 |
elif sim_site_var1 == 'Fanduel':
|
| 425 |
+
wr_working = pd.DataFrame(np.column_stack(np.unique(st.session_state.freq_copy.iloc[:,3:6].values, return_counts=True)),
|
| 426 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
| 427 |
wr_working['Freq'] = wr_working['Freq'].astype(int)
|
| 428 |
wr_working['Position'] = wr_working['Player'].map(maps_dict['Pos_map'])
|
|
|
|
| 434 |
st.session_state.wr_freq = wr_working.copy()
|
| 435 |
|
| 436 |
if sim_site_var1 == 'Draftkings':
|
| 437 |
+
te_working = pd.DataFrame(np.column_stack(np.unique(st.session_state.freq_copy.iloc[:,6:7].values, return_counts=True)),
|
| 438 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
| 439 |
elif sim_site_var1 == 'Fanduel':
|
| 440 |
+
te_working = pd.DataFrame(np.column_stack(np.unique(st.session_state.freq_copy.iloc[:,6:7].values, return_counts=True)),
|
| 441 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
| 442 |
te_working['Freq'] = te_working['Freq'].astype(int)
|
| 443 |
te_working['Position'] = te_working['Player'].map(maps_dict['Pos_map'])
|
|
|
|
| 449 |
st.session_state.te_freq = te_working.copy()
|
| 450 |
|
| 451 |
if sim_site_var1 == 'Draftkings':
|
| 452 |
+
flex_working = pd.DataFrame(np.column_stack(np.unique(st.session_state.freq_copy.iloc[:,7:8].values, return_counts=True)),
|
| 453 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
| 454 |
elif sim_site_var1 == 'Fanduel':
|
| 455 |
+
flex_working = pd.DataFrame(np.column_stack(np.unique(st.session_state.freq_copy.iloc[:,7:8].values, return_counts=True)),
|
| 456 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
| 457 |
flex_working['Freq'] = flex_working['Freq'].astype(int)
|
| 458 |
flex_working['Position'] = flex_working['Player'].map(maps_dict['Pos_map'])
|
|
|
|
| 464 |
st.session_state.flex_freq = flex_working.copy()
|
| 465 |
|
| 466 |
if sim_site_var1 == 'Draftkings':
|
| 467 |
+
dst_working = pd.DataFrame(np.column_stack(np.unique(st.session_state.freq_copy.iloc[:,8:9].values, return_counts=True)),
|
| 468 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
| 469 |
elif sim_site_var1 == 'Fanduel':
|
| 470 |
+
dst_working = pd.DataFrame(np.column_stack(np.unique(st.session_state.freq_copy.iloc[:,8:9].values, return_counts=True)),
|
| 471 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
| 472 |
dst_working['Freq'] = dst_working['Freq'].astype(int)
|
| 473 |
dst_working['Position'] = dst_working['Player'].map(maps_dict['Pos_map'])
|
|
|
|
| 479 |
st.session_state.dst_freq = dst_working.copy()
|
| 480 |
|
| 481 |
if sim_site_var1 == 'Draftkings':
|
| 482 |
+
team_working = pd.DataFrame(np.column_stack(np.unique(st.session_state.freq_copy.iloc[:,11:12].values, return_counts=True)),
|
| 483 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
| 484 |
elif sim_site_var1 == 'Fanduel':
|
| 485 |
+
team_working = pd.DataFrame(np.column_stack(np.unique(st.session_state.freq_copy.iloc[:,11:12].values, return_counts=True)),
|
| 486 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
| 487 |
team_working['Freq'] = team_working['Freq'].astype(int)
|
| 488 |
team_working['Exposure'] = team_working['Freq']/(1000)
|
|
|
|
| 522 |
'Salary': [
|
| 523 |
st.session_state.Sim_Winner_Display['salary'].min(),
|
| 524 |
st.session_state.Sim_Winner_Display['salary'].mean(),
|
| 525 |
+
st.session_state.Sim_Winner_Display['salary'].max(),
|
| 526 |
+
st.session_state.Sim_Winner_Display['salary'].std()
|
| 527 |
],
|
| 528 |
'Proj': [
|
| 529 |
st.session_state.Sim_Winner_Display['proj'].min(),
|
| 530 |
st.session_state.Sim_Winner_Display['proj'].mean(),
|
| 531 |
+
st.session_state.Sim_Winner_Display['proj'].max(),
|
| 532 |
+
st.session_state.Sim_Winner_Display['proj'].std()
|
| 533 |
],
|
| 534 |
'Own': [
|
| 535 |
st.session_state.Sim_Winner_Display['Own'].min(),
|
| 536 |
st.session_state.Sim_Winner_Display['Own'].mean(),
|
| 537 |
+
st.session_state.Sim_Winner_Display['Own'].max(),
|
| 538 |
+
st.session_state.Sim_Winner_Display['Own'].std()
|
| 539 |
],
|
| 540 |
'Fantasy': [
|
| 541 |
st.session_state.Sim_Winner_Display['Fantasy'].min(),
|
| 542 |
st.session_state.Sim_Winner_Display['Fantasy'].mean(),
|
| 543 |
+
st.session_state.Sim_Winner_Display['Fantasy'].max(),
|
| 544 |
+
st.session_state.Sim_Winner_Display['Fantasy'].std()
|
| 545 |
],
|
| 546 |
'GPP_Proj': [
|
| 547 |
st.session_state.Sim_Winner_Display['GPP_Proj'].min(),
|
| 548 |
st.session_state.Sim_Winner_Display['GPP_Proj'].mean(),
|
| 549 |
+
st.session_state.Sim_Winner_Display['GPP_Proj'].max(),
|
| 550 |
+
st.session_state.Sim_Winner_Display['GPP_Proj'].std()
|
| 551 |
]
|
| 552 |
})
|
| 553 |
|
|
|
|
| 566 |
with tab2:
|
| 567 |
if 'Sim_Winner_Display' in st.session_state:
|
| 568 |
# Apply position mapping to FLEX column
|
| 569 |
+
flex_positions = st.session_state.freq_copy['FLEX'].map(maps_dict['Pos_map'])
|
| 570 |
|
| 571 |
# Count occurrences of each position in FLEX
|
| 572 |
flex_counts = flex_positions.value_counts()
|
| 573 |
|
| 574 |
# Calculate average statistics for each FLEX position
|
| 575 |
+
flex_stats = st.session_state.freq_copy.groupby(flex_positions).agg({
|
| 576 |
'proj': 'mean',
|
| 577 |
'Own': 'mean',
|
| 578 |
'Fantasy': 'mean',
|