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