Spaces:
Sleeping
Sleeping
James McCool
commited on
Commit
·
33016ba
1
Parent(s):
b107789
Refactor app.py: Removed unused CSS styling and validation steps for player lineups; adjusted indexing for team and stack filtering based on site selection.
Browse files
app.py
CHANGED
|
@@ -20,34 +20,6 @@ freq_format = {'Exposure': '{:.2%}', 'Proj Own': '{:.2%}', 'Edge': '{:.2%}'}
|
|
| 20 |
dk_columns = ['SP1', 'SP2', 'C', '1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3', 'salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own']
|
| 21 |
fd_columns = ['P', 'C_1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3', 'UTIL', 'salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own']
|
| 22 |
|
| 23 |
-
st.markdown("""
|
| 24 |
-
<style>
|
| 25 |
-
/* Tab styling */
|
| 26 |
-
.stTabs [data-baseweb="tab-list"] {
|
| 27 |
-
gap: 8px;
|
| 28 |
-
padding: 4px;
|
| 29 |
-
}
|
| 30 |
-
.stTabs [data-baseweb="tab"] {
|
| 31 |
-
height: 50px;
|
| 32 |
-
white-space: pre-wrap;
|
| 33 |
-
background-color: #FFD700;
|
| 34 |
-
color: white;
|
| 35 |
-
border-radius: 10px;
|
| 36 |
-
gap: 1px;
|
| 37 |
-
padding: 10px 20px;
|
| 38 |
-
font-weight: bold;
|
| 39 |
-
transition: all 0.3s ease;
|
| 40 |
-
}
|
| 41 |
-
.stTabs [aria-selected="true"] {
|
| 42 |
-
background-color: #DAA520;
|
| 43 |
-
color: white;
|
| 44 |
-
}
|
| 45 |
-
.stTabs [data-baseweb="tab"]:hover {
|
| 46 |
-
background-color: #DAA520;
|
| 47 |
-
cursor: pointer;
|
| 48 |
-
}
|
| 49 |
-
</style>""", unsafe_allow_html=True)
|
| 50 |
-
|
| 51 |
@st.cache_data(ttl = 60)
|
| 52 |
def init_DK_seed_frames(sharp_split):
|
| 53 |
|
|
@@ -69,12 +41,6 @@ def init_DK_seed_frames(sharp_split):
|
|
| 69 |
dict_columns = ['SP1', 'SP2', 'C', '1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3']
|
| 70 |
# Map names
|
| 71 |
raw_display[dict_columns] = raw_display[dict_columns].apply(lambda x: x.map(names_dict))
|
| 72 |
-
|
| 73 |
-
# Validate lineups against valid players
|
| 74 |
-
raw_display = validate_lineup_players(raw_display, valid_players, dict_columns)
|
| 75 |
-
|
| 76 |
-
# Remove any remaining NaN values
|
| 77 |
-
raw_display = raw_display.dropna()
|
| 78 |
DK_seed = raw_display.to_numpy()
|
| 79 |
|
| 80 |
return DK_seed
|
|
@@ -101,9 +67,6 @@ def init_DK_secondary_seed_frames(sharp_split):
|
|
| 101 |
# Map names
|
| 102 |
raw_display[dict_columns] = raw_display[dict_columns].apply(lambda x: x.map(names_dict))
|
| 103 |
|
| 104 |
-
# Validate lineups against valid players
|
| 105 |
-
raw_display = validate_lineup_players(raw_display, valid_players, dict_columns)
|
| 106 |
-
|
| 107 |
# Remove any remaining NaN values
|
| 108 |
raw_display = raw_display.dropna()
|
| 109 |
DK_seed = raw_display.to_numpy()
|
|
@@ -128,13 +91,10 @@ def init_FD_seed_frames(sharp_split):
|
|
| 128 |
|
| 129 |
raw_display = pd.DataFrame(list(cursor))
|
| 130 |
raw_display = raw_display[['P', 'C_1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3', 'UTIL', 'salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own']]
|
| 131 |
-
dict_columns = ['P', 'C_1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3'
|
| 132 |
# Map names
|
| 133 |
raw_display[dict_columns] = raw_display[dict_columns].apply(lambda x: x.map(names_dict))
|
| 134 |
|
| 135 |
-
# Validate lineups against valid players
|
| 136 |
-
raw_display = validate_lineup_players(raw_display, valid_players, dict_columns)
|
| 137 |
-
|
| 138 |
# Remove any remaining NaN values
|
| 139 |
raw_display = raw_display.dropna()
|
| 140 |
FD_seed = raw_display.to_numpy()
|
|
@@ -159,13 +119,10 @@ def init_FD_secondary_seed_frames(sharp_split):
|
|
| 159 |
|
| 160 |
raw_display = pd.DataFrame(list(cursor))
|
| 161 |
raw_display = raw_display[['P', 'C_1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3', 'UTIL', 'salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own']]
|
| 162 |
-
dict_columns = ['P', 'C_1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3'
|
| 163 |
# Map names
|
| 164 |
raw_display[dict_columns] = raw_display[dict_columns].apply(lambda x: x.map(names_dict))
|
| 165 |
|
| 166 |
-
# Validate lineups against valid players
|
| 167 |
-
raw_display = validate_lineup_players(raw_display, valid_players, dict_columns)
|
| 168 |
-
|
| 169 |
# Remove any remaining NaN values
|
| 170 |
raw_display = raw_display.dropna()
|
| 171 |
FD_seed = raw_display.to_numpy()
|
|
@@ -683,8 +640,12 @@ with tab2:
|
|
| 683 |
|
| 684 |
if st.button("Prepare data export", key='data_export'):
|
| 685 |
if 'working_seed' in st.session_state:
|
| 686 |
-
|
| 687 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 688 |
st.session_state.data_export_display = st.session_state.working_seed[0:lineup_num_var]
|
| 689 |
elif 'working_seed' not in st.session_state:
|
| 690 |
if site_var1 == 'Draftkings':
|
|
@@ -714,8 +675,12 @@ with tab2:
|
|
| 714 |
fd_id_dict = dict(zip(fd_raw.Player, fd_raw.player_id))
|
| 715 |
raw_baselines = fd_raw
|
| 716 |
column_names = fd_columns
|
| 717 |
-
|
| 718 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 719 |
st.session_state.data_export_display = st.session_state.working_seed[0:lineup_num_var]
|
| 720 |
data_export = st.session_state.working_seed.copy()
|
| 721 |
st.download_button(
|
|
@@ -730,8 +695,12 @@ with tab2:
|
|
| 730 |
if st.button("Load Data", key='load_data'):
|
| 731 |
if site_var1 == 'Draftkings':
|
| 732 |
if 'working_seed' in st.session_state:
|
| 733 |
-
|
| 734 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 735 |
st.session_state.data_export_display = pd.DataFrame(st.session_state.working_seed[0:lineup_num_var], columns=column_names)
|
| 736 |
elif 'working_seed' not in st.session_state:
|
| 737 |
if slate_var1 == 'Main Slate':
|
|
@@ -741,14 +710,14 @@ with tab2:
|
|
| 741 |
raw_baselines = dk_raw
|
| 742 |
column_names = dk_columns
|
| 743 |
|
| 744 |
-
st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:,
|
| 745 |
-
st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:,
|
| 746 |
st.session_state.data_export_display = pd.DataFrame(st.session_state.working_seed[0:lineup_num_var], columns=column_names)
|
| 747 |
|
| 748 |
elif site_var1 == 'Fanduel':
|
| 749 |
if 'working_seed' in st.session_state:
|
| 750 |
st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 11], team_var2)]
|
| 751 |
-
st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:,
|
| 752 |
st.session_state.data_export_display = pd.DataFrame(st.session_state.working_seed[0:lineup_num_var], columns=column_names)
|
| 753 |
elif 'working_seed' not in st.session_state:
|
| 754 |
if slate_var1 == 'Main Slate':
|
|
@@ -758,7 +727,7 @@ with tab2:
|
|
| 758 |
raw_baselines = fd_raw
|
| 759 |
column_names = fd_columns
|
| 760 |
st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 11], team_var2)]
|
| 761 |
-
st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:,
|
| 762 |
st.session_state.data_export_display = pd.DataFrame(st.session_state.working_seed[0:lineup_num_var], columns=column_names)
|
| 763 |
|
| 764 |
with st.container():
|
|
|
|
| 20 |
dk_columns = ['SP1', 'SP2', 'C', '1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3', 'salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own']
|
| 21 |
fd_columns = ['P', 'C_1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3', 'UTIL', 'salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own']
|
| 22 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 23 |
@st.cache_data(ttl = 60)
|
| 24 |
def init_DK_seed_frames(sharp_split):
|
| 25 |
|
|
|
|
| 41 |
dict_columns = ['SP1', 'SP2', 'C', '1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3']
|
| 42 |
# Map names
|
| 43 |
raw_display[dict_columns] = raw_display[dict_columns].apply(lambda x: x.map(names_dict))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 44 |
DK_seed = raw_display.to_numpy()
|
| 45 |
|
| 46 |
return DK_seed
|
|
|
|
| 67 |
# Map names
|
| 68 |
raw_display[dict_columns] = raw_display[dict_columns].apply(lambda x: x.map(names_dict))
|
| 69 |
|
|
|
|
|
|
|
|
|
|
| 70 |
# Remove any remaining NaN values
|
| 71 |
raw_display = raw_display.dropna()
|
| 72 |
DK_seed = raw_display.to_numpy()
|
|
|
|
| 91 |
|
| 92 |
raw_display = pd.DataFrame(list(cursor))
|
| 93 |
raw_display = raw_display[['P', 'C_1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3', 'UTIL', 'salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own']]
|
| 94 |
+
dict_columns = ['P', 'C_1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3']
|
| 95 |
# Map names
|
| 96 |
raw_display[dict_columns] = raw_display[dict_columns].apply(lambda x: x.map(names_dict))
|
| 97 |
|
|
|
|
|
|
|
|
|
|
| 98 |
# Remove any remaining NaN values
|
| 99 |
raw_display = raw_display.dropna()
|
| 100 |
FD_seed = raw_display.to_numpy()
|
|
|
|
| 119 |
|
| 120 |
raw_display = pd.DataFrame(list(cursor))
|
| 121 |
raw_display = raw_display[['P', 'C_1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3', 'UTIL', 'salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own']]
|
| 122 |
+
dict_columns = ['P', 'C_1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3']
|
| 123 |
# Map names
|
| 124 |
raw_display[dict_columns] = raw_display[dict_columns].apply(lambda x: x.map(names_dict))
|
| 125 |
|
|
|
|
|
|
|
|
|
|
| 126 |
# Remove any remaining NaN values
|
| 127 |
raw_display = raw_display.dropna()
|
| 128 |
FD_seed = raw_display.to_numpy()
|
|
|
|
| 640 |
|
| 641 |
if st.button("Prepare data export", key='data_export'):
|
| 642 |
if 'working_seed' in st.session_state:
|
| 643 |
+
if site_var1 == 'Draftkings':
|
| 644 |
+
st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 12], team_var2)]
|
| 645 |
+
st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 13], stack_var2)]
|
| 646 |
+
elif site_var1 == 'Fanduel':
|
| 647 |
+
st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 11], team_var2)]
|
| 648 |
+
st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 12], stack_var2)]
|
| 649 |
st.session_state.data_export_display = st.session_state.working_seed[0:lineup_num_var]
|
| 650 |
elif 'working_seed' not in st.session_state:
|
| 651 |
if site_var1 == 'Draftkings':
|
|
|
|
| 675 |
fd_id_dict = dict(zip(fd_raw.Player, fd_raw.player_id))
|
| 676 |
raw_baselines = fd_raw
|
| 677 |
column_names = fd_columns
|
| 678 |
+
if site_var1 == 'Draftkings':
|
| 679 |
+
st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 12], team_var2)]
|
| 680 |
+
st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 13], stack_var2)]
|
| 681 |
+
elif site_var1 == 'Fanduel':
|
| 682 |
+
st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 11], team_var2)]
|
| 683 |
+
st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 12], stack_var2)]
|
| 684 |
st.session_state.data_export_display = st.session_state.working_seed[0:lineup_num_var]
|
| 685 |
data_export = st.session_state.working_seed.copy()
|
| 686 |
st.download_button(
|
|
|
|
| 695 |
if st.button("Load Data", key='load_data'):
|
| 696 |
if site_var1 == 'Draftkings':
|
| 697 |
if 'working_seed' in st.session_state:
|
| 698 |
+
if site_var1 == 'Draftkings':
|
| 699 |
+
st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 12], team_var2)]
|
| 700 |
+
st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 13], stack_var2)]
|
| 701 |
+
elif site_var1 == 'Fanduel':
|
| 702 |
+
st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 11], team_var2)]
|
| 703 |
+
st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 12], stack_var2)]
|
| 704 |
st.session_state.data_export_display = pd.DataFrame(st.session_state.working_seed[0:lineup_num_var], columns=column_names)
|
| 705 |
elif 'working_seed' not in st.session_state:
|
| 706 |
if slate_var1 == 'Main Slate':
|
|
|
|
| 710 |
raw_baselines = dk_raw
|
| 711 |
column_names = dk_columns
|
| 712 |
|
| 713 |
+
st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 12], team_var2)]
|
| 714 |
+
st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 13], stack_var2)]
|
| 715 |
st.session_state.data_export_display = pd.DataFrame(st.session_state.working_seed[0:lineup_num_var], columns=column_names)
|
| 716 |
|
| 717 |
elif site_var1 == 'Fanduel':
|
| 718 |
if 'working_seed' in st.session_state:
|
| 719 |
st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 11], team_var2)]
|
| 720 |
+
st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 12], stack_var2)]
|
| 721 |
st.session_state.data_export_display = pd.DataFrame(st.session_state.working_seed[0:lineup_num_var], columns=column_names)
|
| 722 |
elif 'working_seed' not in st.session_state:
|
| 723 |
if slate_var1 == 'Main Slate':
|
|
|
|
| 727 |
raw_baselines = fd_raw
|
| 728 |
column_names = fd_columns
|
| 729 |
st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 11], team_var2)]
|
| 730 |
+
st.session_state.working_seed = st.session_state.working_seed[np.isin(st.session_state.working_seed[:, 12], stack_var2)]
|
| 731 |
st.session_state.data_export_display = pd.DataFrame(st.session_state.working_seed[0:lineup_num_var], columns=column_names)
|
| 732 |
|
| 733 |
with st.container():
|