Spaces:
Sleeping
Sleeping
James McCool
commited on
Commit
·
6fbd2f9
1
Parent(s):
b7f0617
Add Portfolio Manager export functionality and improve data export options; streamline data preparation and filtering for optimal lineups in NBA and WNBA.
Browse files
app.py
CHANGED
@@ -308,6 +308,11 @@ def convert_df(array):
|
|
308 |
array = pd.DataFrame(array, columns=column_names)
|
309 |
return array.to_csv().encode('utf-8')
|
310 |
|
|
|
|
|
|
|
|
|
|
|
311 |
dk_raw, fd_raw, dk_raw_sec, fd_raw_sec, roo_raw, sd_raw, dk_sd_raw, fd_sd_raw, timestamp = load_overall_stats('NBA')
|
312 |
salary_dict = dict(zip(roo_raw.Player, roo_raw.Salary))
|
313 |
id_dict = dict(zip(roo_raw.Player, roo_raw.player_ID))
|
@@ -360,8 +365,6 @@ with view_col:
|
|
360 |
view_var2 = st.radio("View Type", ('Simple', 'Advanced'), key='view_var2')
|
361 |
with site_col:
|
362 |
site_var2 = st.radio("Site", ('Draftkings', 'Fanduel'), key='site_var2')
|
363 |
-
if 'working_seed' in st.session_state:
|
364 |
-
del st.session_state['working_seed']
|
365 |
with league_col:
|
366 |
league_var = st.radio("What League to load:", ('WNBA', 'NBA'), key='league_var')
|
367 |
dk_raw, fd_raw, dk_raw_sec, fd_raw_sec, roo_raw, sd_raw, dk_sd_raw, fd_sd_raw, timestamp = load_overall_stats(league_var)
|
@@ -431,30 +434,38 @@ with tab1:
|
|
431 |
'Own', 'Small_Own', 'Large_Own', 'Cash_Own', 'CPT_Own', 'LevX', 'ValX']]
|
432 |
elif view_var2 == 'Simple':
|
433 |
display_proj = display_proj[['Player', 'Position', 'Salary', 'Median', 'GPP%', 'Own']]
|
434 |
-
export_data =
|
|
|
|
|
435 |
|
436 |
# display_proj = display_proj.set_index('Player')
|
437 |
st.session_state.display_proj = display_proj.set_index('Player', drop=True)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
438 |
|
439 |
-
|
440 |
-
|
441 |
-
|
442 |
-
|
443 |
-
|
444 |
-
|
445 |
-
|
446 |
-
|
447 |
-
height=1000, use_container_width = True)
|
448 |
|
449 |
-
with display_dl_container_1:
|
450 |
-
display_dl_container = st.empty()
|
451 |
-
if 'display_proj' in st.session_state:
|
452 |
-
st.download_button(
|
453 |
-
label="Export Tables",
|
454 |
-
data=convert_df_to_csv(export_data),
|
455 |
-
file_name='NBA_ROO_export.csv',
|
456 |
-
mime='text/csv',
|
457 |
-
)
|
458 |
|
459 |
with tab2:
|
460 |
with st.expander("Info and Filters"):
|
@@ -479,7 +490,7 @@ with tab2:
|
|
479 |
for key in st.session_state.keys():
|
480 |
del st.session_state[key]
|
481 |
|
482 |
-
col1, col2, col3, col4, col5
|
483 |
with col1:
|
484 |
slate_var1 = st.radio("Which data are you loading?", ('Main Slate', 'Secondary'))
|
485 |
with col2:
|
@@ -522,43 +533,201 @@ with tab2:
|
|
522 |
player_var2 = st.multiselect('Which players do you want?', options = fd_raw['Player'].unique())
|
523 |
elif player_var1 == 'Full Slate':
|
524 |
player_var2 = fd_raw.Player.values.tolist()
|
525 |
-
|
526 |
-
|
527 |
if site_var2 == 'Draftkings':
|
528 |
-
|
529 |
-
|
530 |
-
data_export_names = data_export.copy()
|
531 |
-
for col_idx in range(8):
|
532 |
-
data_export[:, col_idx] = np.array([id_dict.get(player, player) for player in data_export[:, col_idx]])
|
533 |
-
elif slate_type_var1 == 'Showdown':
|
534 |
-
data_export = init_DK_SD_lineups(slate_var1, league_var)
|
535 |
-
data_export_names = data_export.copy()
|
536 |
-
for col_idx in range(6):
|
537 |
-
data_export[:, col_idx] = np.array([dk_id_dict_sd.get(player, player) for player in data_export[:, col_idx]])
|
538 |
-
|
539 |
elif site_var2 == 'Fanduel':
|
540 |
-
|
541 |
-
|
542 |
-
|
543 |
-
|
544 |
-
|
545 |
-
|
546 |
-
|
547 |
-
|
548 |
-
|
549 |
-
|
550 |
-
|
551 |
-
|
552 |
-
|
553 |
-
|
554 |
-
|
555 |
-
|
556 |
-
|
557 |
-
|
558 |
-
|
559 |
-
|
560 |
-
|
561 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
562 |
|
563 |
|
564 |
if site_var2 == 'Draftkings':
|
@@ -608,7 +777,7 @@ with tab2:
|
|
608 |
elif slate_type_var1 == 'Showdown':
|
609 |
st.session_state.working_seed = init_FD_SD_lineups(slate_var1, league_var)
|
610 |
st.session_state.data_export_display = pd.DataFrame(st.session_state.working_seed[0:lineup_num_var], columns=column_names)
|
611 |
-
|
612 |
export_file = st.session_state.data_export_display.copy()
|
613 |
if site_var2 == 'Draftkings':
|
614 |
if slate_type_var1 == 'Regular':
|
|
|
308 |
array = pd.DataFrame(array, columns=column_names)
|
309 |
return array.to_csv().encode('utf-8')
|
310 |
|
311 |
+
@st.cache_data
|
312 |
+
def convert_pm_df(array):
|
313 |
+
array = pd.DataFrame(array)
|
314 |
+
return array.to_csv().encode('utf-8')
|
315 |
+
|
316 |
dk_raw, fd_raw, dk_raw_sec, fd_raw_sec, roo_raw, sd_raw, dk_sd_raw, fd_sd_raw, timestamp = load_overall_stats('NBA')
|
317 |
salary_dict = dict(zip(roo_raw.Player, roo_raw.Salary))
|
318 |
id_dict = dict(zip(roo_raw.Player, roo_raw.player_ID))
|
|
|
365 |
view_var2 = st.radio("View Type", ('Simple', 'Advanced'), key='view_var2')
|
366 |
with site_col:
|
367 |
site_var2 = st.radio("Site", ('Draftkings', 'Fanduel'), key='site_var2')
|
|
|
|
|
368 |
with league_col:
|
369 |
league_var = st.radio("What League to load:", ('WNBA', 'NBA'), key='league_var')
|
370 |
dk_raw, fd_raw, dk_raw_sec, fd_raw_sec, roo_raw, sd_raw, dk_sd_raw, fd_sd_raw, timestamp = load_overall_stats(league_var)
|
|
|
434 |
'Own', 'Small_Own', 'Large_Own', 'Cash_Own', 'CPT_Own', 'LevX', 'ValX']]
|
435 |
elif view_var2 == 'Simple':
|
436 |
display_proj = display_proj[['Player', 'Position', 'Salary', 'Median', 'GPP%', 'Own']]
|
437 |
+
export_data = raw_baselines.copy()
|
438 |
+
export_data_pm = raw_baselines[['Player', 'Position', 'Team', 'Salary', 'Median', 'Own', 'CPT_Own']]
|
439 |
+
export_data_pm = export_data_pm.rename(columns={'Own': 'ownership', 'Median': 'median', 'Player': 'player_names', 'Position': 'position', 'Team': 'team', 'Salary': 'salary', 'CPT_Own': 'captain ownership'})
|
440 |
|
441 |
# display_proj = display_proj.set_index('Player')
|
442 |
st.session_state.display_proj = display_proj.set_index('Player', drop=True)
|
443 |
+
|
444 |
+
reg_dl_col, pm_dl_col, blank_col = st.columns([2, 2, 6])
|
445 |
+
with reg_dl_col:
|
446 |
+
st.download_button(
|
447 |
+
label="Export ROO (Regular)",
|
448 |
+
data=convert_df_to_csv(export_data),
|
449 |
+
file_name='NBA_ROO_export.csv',
|
450 |
+
mime='text/csv',
|
451 |
+
)
|
452 |
+
with pm_dl_col:
|
453 |
+
st.download_button(
|
454 |
+
label="Export ROO (Portfolio Manager)",
|
455 |
+
data=convert_df_to_csv(export_data_pm),
|
456 |
+
file_name='NBA_ROO_export.csv',
|
457 |
+
mime='text/csv',
|
458 |
+
)
|
459 |
|
460 |
+
if 'display_proj' in st.session_state:
|
461 |
+
if pos_var2 == 'All':
|
462 |
+
st.session_state.display_proj = st.session_state.display_proj
|
463 |
+
elif pos_var2 != 'All':
|
464 |
+
st.session_state.display_proj = st.session_state.display_proj[st.session_state.display_proj['Position'].str.contains(pos_var2)]
|
465 |
+
st.dataframe(st.session_state.display_proj.style.set_properties(**{'font-size': '6pt'}).background_gradient(axis=0).background_gradient(cmap='RdYlGn').format(roo_format, precision=2),
|
466 |
+
height=1000, use_container_width = True)
|
467 |
+
|
|
|
468 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
469 |
|
470 |
with tab2:
|
471 |
with st.expander("Info and Filters"):
|
|
|
490 |
for key in st.session_state.keys():
|
491 |
del st.session_state[key]
|
492 |
|
493 |
+
col1, col2, col3, col4, col5 = st.columns(5)
|
494 |
with col1:
|
495 |
slate_var1 = st.radio("Which data are you loading?", ('Main Slate', 'Secondary'))
|
496 |
with col2:
|
|
|
533 |
player_var2 = st.multiselect('Which players do you want?', options = fd_raw['Player'].unique())
|
534 |
elif player_var1 == 'Full Slate':
|
535 |
player_var2 = fd_raw.Player.values.tolist()
|
536 |
+
with col5:
|
|
|
537 |
if site_var2 == 'Draftkings':
|
538 |
+
salary_min_var = st.number_input("Minimum salary used", min_value = 0, max_value = 50000, value = 49000, step = 100, key = 'salary_min_var')
|
539 |
+
salary_max_var = st.number_input("Maximum salary used", min_value = 0, max_value = 50000, value = 50000, step = 100, key = 'salary_max_var')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
540 |
elif site_var2 == 'Fanduel':
|
541 |
+
salary_min_var = st.number_input("Minimum salary used", min_value = 0, max_value = 40000, value = 39000, step = 100, key = 'salary_min_var')
|
542 |
+
salary_max_var = st.number_input("Maximum salary used", min_value = 0, max_value = 40000, value = 40000, step = 100, key = 'salary_max_var')
|
543 |
+
|
544 |
+
reg_dl_col, filtered_dl_col, blank_dl_col = st.columns([2, 2, 6])
|
545 |
+
with reg_dl_col:
|
546 |
+
if st.button("Prepare full data export", key='data_export'):
|
547 |
+
name_export = pd.DataFrame(st.session_state.working_seed.copy(), columns=column_names)
|
548 |
+
data_export = pd.DataFrame(st.session_state.working_seed.copy(), columns=column_names)
|
549 |
+
if site_var2 == 'Draftkings':
|
550 |
+
if slate_type_var1 == 'Regular':
|
551 |
+
if league_var == 'NBA':
|
552 |
+
map_columns = ['PG', 'SG', 'SF', 'PF', 'C', 'G', 'F', 'FLEX']
|
553 |
+
elif league_var == 'WNBA':
|
554 |
+
map_columns = ['G1', 'G2', 'F1', 'F2', 'F3', 'UTIL']
|
555 |
+
elif slate_type_var1 == 'Showdown':
|
556 |
+
map_columns = ['CPT', 'FLEX1', 'FLEX2', 'FLEX3', 'FLEX4', 'FLEX5']
|
557 |
+
for col_idx in map_columns:
|
558 |
+
if slate_type_var1 == 'Regular':
|
559 |
+
data_export[col_idx] = data_export[col_idx].map(id_dict)
|
560 |
+
elif slate_type_var1 == 'Showdown':
|
561 |
+
data_export[col_idx] = data_export[col_idx].map(dk_id_dict_sd)
|
562 |
+
elif site_var2 == 'Fanduel':
|
563 |
+
if slate_type_var1 == 'Regular':
|
564 |
+
if league_var == 'NBA':
|
565 |
+
map_columns = ['PG1', 'PG2', 'SG1', 'SG2', 'SF1', 'SF2', 'PF1', 'PF2', 'C1', 'C2', 'UTIL']
|
566 |
+
elif league_var == 'WNBA':
|
567 |
+
map_columns = ['G1', 'G2', 'G3', 'F1', 'F2', 'F3', 'F4']
|
568 |
+
elif slate_type_var1 == 'Showdown':
|
569 |
+
map_columns = ['CPT', 'FLEX1', 'FLEX2', 'FLEX3', 'FLEX4']
|
570 |
+
for col_idx in map_columns:
|
571 |
+
if slate_type_var1 == 'Regular':
|
572 |
+
data_export[col_idx] = data_export[col_idx].map(id_dict)
|
573 |
+
elif slate_type_var1 == 'Showdown':
|
574 |
+
data_export[col_idx] = data_export[col_idx].map(fd_id_dict_sd)
|
575 |
+
reg_opt_col, pm_opt_col = st.columns(2)
|
576 |
+
with reg_opt_col:
|
577 |
+
st.download_button(
|
578 |
+
label="Export optimals set (IDs)",
|
579 |
+
data=convert_df(data_export),
|
580 |
+
file_name='NBA_optimals_export.csv',
|
581 |
+
mime='text/csv',
|
582 |
+
)
|
583 |
+
st.download_button(
|
584 |
+
label="Export optimals set (Names)",
|
585 |
+
data=convert_df(name_export),
|
586 |
+
file_name='NBA_optimals_export.csv',
|
587 |
+
mime='text/csv',
|
588 |
+
)
|
589 |
+
with pm_opt_col:
|
590 |
+
if site_var2 == 'Draftkings':
|
591 |
+
if slate_type_var1 == 'Regular':
|
592 |
+
if league_var == 'NBA':
|
593 |
+
data_export = data_export.set_index('PG').drop(columns=['salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own'], axis=1)
|
594 |
+
elif league_var == 'WNBA':
|
595 |
+
data_export = data_export.set_index('G1').drop(columns=['salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own'], axis=1)
|
596 |
+
elif slate_type_var1 == 'Showdown':
|
597 |
+
data_export = data_export.set_index('CPT').drop(columns=['salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own'], axis=1)
|
598 |
+
elif site_var2 == 'Fanduel':
|
599 |
+
if slate_type_var1 == 'Regular':
|
600 |
+
if league_var == 'NBA':
|
601 |
+
data_export = data_export.set_index('PG1').drop(columns=['salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own'], axis=1)
|
602 |
+
elif league_var == 'WNBA':
|
603 |
+
data_export = data_export.set_index('G1').drop(columns=['salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own'], axis=1)
|
604 |
+
elif slate_type_var1 == 'Showdown':
|
605 |
+
data_export = data_export.set_index('CPT').drop(columns=['salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own'], axis=1)
|
606 |
+
st.download_button(
|
607 |
+
label="Portfolio Manager Export (IDs)",
|
608 |
+
data=convert_pm_df(data_export),
|
609 |
+
file_name='NBA_optimals_export.csv',
|
610 |
+
mime='text/csv',
|
611 |
+
)
|
612 |
+
|
613 |
+
if site_var2 == 'Draftkings':
|
614 |
+
if slate_type_var1 == 'Regular':
|
615 |
+
if league_var == 'NBA':
|
616 |
+
name_export = name_export.set_index('PG').drop(columns=['salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own'], axis=1)
|
617 |
+
elif league_var == 'WNBA':
|
618 |
+
name_export = name_export.set_index('G1').drop(columns=['salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own'], axis=1)
|
619 |
+
elif slate_type_var1 == 'Showdown':
|
620 |
+
name_export = name_export.set_index('CPT').drop(columns=['salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own'], axis=1)
|
621 |
+
elif site_var2 == 'Fanduel':
|
622 |
+
if slate_type_var1 == 'Regular':
|
623 |
+
if league_var == 'NBA':
|
624 |
+
name_export = name_export.set_index('PG1').drop(columns=['salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own'], axis=1)
|
625 |
+
elif league_var == 'WNBA':
|
626 |
+
name_export = name_export.set_index('G1').drop(columns=['salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own'], axis=1)
|
627 |
+
elif slate_type_var1 == 'Showdown':
|
628 |
+
name_export = name_export.set_index('CPT').drop(columns=['salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own'], axis=1)
|
629 |
+
st.download_button(
|
630 |
+
label="Portfolio Manager Export (Names)",
|
631 |
+
data=convert_pm_df(name_export),
|
632 |
+
file_name='NBA_optimals_export.csv',
|
633 |
+
mime='text/csv',
|
634 |
+
)
|
635 |
+
with filtered_dl_col:
|
636 |
+
if st.button("Prepare full data export (Filtered)", key='data_export_filtered'):
|
637 |
+
name_export = pd.DataFrame(st.session_state.working_seed.copy(), columns=column_names)
|
638 |
+
data_export = pd.DataFrame(st.session_state.working_seed.copy(), columns=column_names)
|
639 |
+
if site_var2 == 'Draftkings':
|
640 |
+
if slate_type_var1 == 'Regular':
|
641 |
+
if league_var == 'NBA':
|
642 |
+
map_columns = ['PG', 'SG', 'SF', 'PF', 'C', 'G', 'F', 'FLEX']
|
643 |
+
elif league_var == 'WNBA':
|
644 |
+
map_columns = ['G1', 'G2', 'F1', 'F2', 'F3', 'UTIL']
|
645 |
+
elif slate_type_var1 == 'Showdown':
|
646 |
+
map_columns = ['CPT', 'FLEX1', 'FLEX2', 'FLEX3', 'FLEX4', 'FLEX5']
|
647 |
+
for col_idx in map_columns:
|
648 |
+
if slate_type_var1 == 'Regular':
|
649 |
+
data_export[col_idx] = data_export[col_idx].map(id_dict)
|
650 |
+
elif slate_type_var1 == 'Showdown':
|
651 |
+
data_export[col_idx] = data_export[col_idx].map(dk_id_dict_sd)
|
652 |
+
elif site_var2 == 'Fanduel':
|
653 |
+
if slate_type_var1 == 'Regular':
|
654 |
+
if league_var == 'NBA':
|
655 |
+
map_columns = ['PG1', 'PG2', 'SG1', 'SG2', 'SF1', 'SF2', 'PF1', 'PF2', 'C1', 'C2', 'UTIL']
|
656 |
+
elif league_var == 'WNBA':
|
657 |
+
map_columns = ['G1', 'G2', 'G3', 'F1', 'F2', 'F3', 'F4']
|
658 |
+
elif slate_type_var1 == 'Showdown':
|
659 |
+
map_columns = ['CPT', 'FLEX1', 'FLEX2', 'FLEX3', 'FLEX4']
|
660 |
+
for col_idx in map_columns:
|
661 |
+
if slate_type_var1 == 'Regular':
|
662 |
+
data_export[col_idx] = data_export[col_idx].map(id_dict)
|
663 |
+
elif slate_type_var1 == 'Showdown':
|
664 |
+
data_export[col_idx] = data_export[col_idx].map(fd_id_dict_sd)
|
665 |
+
data_export = data_export[data_export['salary'] >= salary_min_var]
|
666 |
+
data_export = data_export[data_export['salary'] <= salary_max_var]
|
667 |
+
|
668 |
+
name_export = name_export[name_export['salary'] >= salary_min_var]
|
669 |
+
name_export = name_export[name_export['salary'] <= salary_max_var]
|
670 |
+
|
671 |
+
reg_opt_col, pm_opt_col = st.columns(2)
|
672 |
+
with reg_opt_col:
|
673 |
+
st.download_button(
|
674 |
+
label="Export optimals set (IDs)",
|
675 |
+
data=convert_df(data_export),
|
676 |
+
file_name='NBA_optimals_export.csv',
|
677 |
+
mime='text/csv',
|
678 |
+
)
|
679 |
+
st.download_button(
|
680 |
+
label="Export optimals set (Names)",
|
681 |
+
data=convert_df(name_export),
|
682 |
+
file_name='NBA_optimals_export.csv',
|
683 |
+
mime='text/csv',
|
684 |
+
)
|
685 |
+
with pm_opt_col:
|
686 |
+
if site_var2 == 'Draftkings':
|
687 |
+
if slate_type_var1 == 'Regular':
|
688 |
+
if league_var == 'NBA':
|
689 |
+
data_export = data_export.set_index('PG').drop(columns=['salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own'], axis=1)
|
690 |
+
elif league_var == 'WNBA':
|
691 |
+
data_export = data_export.set_index('G1').drop(columns=['salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own'], axis=1)
|
692 |
+
elif slate_type_var1 == 'Showdown':
|
693 |
+
data_export = data_export.set_index('CPT').drop(columns=['salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own'], axis=1)
|
694 |
+
elif site_var2 == 'Fanduel':
|
695 |
+
if slate_type_var1 == 'Regular':
|
696 |
+
if league_var == 'NBA':
|
697 |
+
data_export = data_export.set_index('PG1').drop(columns=['salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own'], axis=1)
|
698 |
+
elif league_var == 'WNBA':
|
699 |
+
data_export = data_export.set_index('G1').drop(columns=['salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own'], axis=1)
|
700 |
+
elif slate_type_var1 == 'Showdown':
|
701 |
+
data_export = data_export.set_index('CPT').drop(columns=['salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own'], axis=1)
|
702 |
+
st.download_button(
|
703 |
+
label="Portfolio Manager Export (IDs)",
|
704 |
+
data=convert_pm_df(data_export),
|
705 |
+
file_name='NBA_optimals_export.csv',
|
706 |
+
mime='text/csv',
|
707 |
+
)
|
708 |
+
|
709 |
+
if site_var2 == 'Draftkings':
|
710 |
+
if slate_type_var1 == 'Regular':
|
711 |
+
if league_var == 'NBA':
|
712 |
+
name_export = name_export.set_index('PG').drop(columns=['salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own'], axis=1)
|
713 |
+
elif league_var == 'WNBA':
|
714 |
+
name_export = name_export.set_index('G1').drop(columns=['salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own'], axis=1)
|
715 |
+
elif slate_type_var1 == 'Showdown':
|
716 |
+
name_export = name_export.set_index('CPT').drop(columns=['salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own'], axis=1)
|
717 |
+
elif site_var2 == 'Fanduel':
|
718 |
+
if slate_type_var1 == 'Regular':
|
719 |
+
if league_var == 'NBA':
|
720 |
+
name_export = name_export.set_index('PG1').drop(columns=['salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own'], axis=1)
|
721 |
+
elif league_var == 'WNBA':
|
722 |
+
name_export = name_export.set_index('G1').drop(columns=['salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own'], axis=1)
|
723 |
+
elif slate_type_var1 == 'Showdown':
|
724 |
+
name_export = name_export.set_index('CPT').drop(columns=['salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own'], axis=1)
|
725 |
+
st.download_button(
|
726 |
+
label="Portfolio Manager Export (Names)",
|
727 |
+
data=convert_pm_df(name_export),
|
728 |
+
file_name='NBA_optimals_export.csv',
|
729 |
+
mime='text/csv',
|
730 |
+
)
|
731 |
|
732 |
|
733 |
if site_var2 == 'Draftkings':
|
|
|
777 |
elif slate_type_var1 == 'Showdown':
|
778 |
st.session_state.working_seed = init_FD_SD_lineups(slate_var1, league_var)
|
779 |
st.session_state.data_export_display = pd.DataFrame(st.session_state.working_seed[0:lineup_num_var], columns=column_names)
|
780 |
+
st.session_state.data_export_display = st.session_state.data_export_display[st.session_state.data_export_display['salary'].between(salary_min_var, salary_max_var)]
|
781 |
export_file = st.session_state.data_export_display.copy()
|
782 |
if site_var2 == 'Draftkings':
|
783 |
if slate_type_var1 == 'Regular':
|