Update app.py
Browse files
app.py
CHANGED
@@ -38,62 +38,74 @@ gcservice_account = init_conn()
|
|
38 |
|
39 |
freq_format = {'Proj Own': '{:.2%}', 'Exposure': '{:.2%}', 'Edge': '{:.2%}'}
|
40 |
|
41 |
-
@st.cache_resource(ttl=
|
42 |
-
def
|
43 |
-
sh = gcservice_account.open_by_url('https://docs.google.com/spreadsheets/d/1I_1Ve3F4tftgfLQQoRKOJ351XfEG48s36OxXUKxmgS8/edit#gid=
|
44 |
worksheet = sh.worksheet('SD_Projections')
|
45 |
load_display = pd.DataFrame(worksheet.get_all_records())
|
46 |
-
load_display.rename(columns={"PPR": "Median", "name": "Player"}, inplace = True)
|
47 |
-
load_display['Floor'] = load_display['Median'] * .25
|
48 |
-
load_display['Ceiling'] = load_display['Median'] + (load_display['Median'] * .75)
|
49 |
load_display.replace('', np.nan, inplace=True)
|
50 |
-
raw_display = load_display.dropna(subset=['
|
|
|
|
|
|
|
51 |
|
52 |
-
return raw_display
|
53 |
-
|
54 |
-
@st.cache_resource(ttl=600)
|
55 |
-
def load_fd_player_projections():
|
56 |
-
sh = gcservice_account.open_by_url('https://docs.google.com/spreadsheets/d/1I_1Ve3F4tftgfLQQoRKOJ351XfEG48s36OxXUKxmgS8/edit#gid=1391856348')
|
57 |
worksheet = sh.worksheet('FD_SD_Projections')
|
58 |
load_display = pd.DataFrame(worksheet.get_all_records())
|
59 |
-
load_display.rename(columns={"Half_PPR": "Median", "name": "Player"}, inplace = True)
|
60 |
-
load_display['Floor'] = load_display['Median'] * .25
|
61 |
-
load_display['Ceiling'] = load_display['Median'] + (load_display['Median'] * .75)
|
62 |
load_display.replace('', np.nan, inplace=True)
|
63 |
-
raw_display = load_display.dropna(subset=['
|
64 |
-
|
65 |
-
|
|
|
66 |
|
67 |
-
@st.cache_resource(ttl=600)
|
68 |
-
def load_dk_player_projections_2():
|
69 |
-
sh = gcservice_account.open_by_url('https://docs.google.com/spreadsheets/d/1I_1Ve3F4tftgfLQQoRKOJ351XfEG48s36OxXUKxmgS8/edit#gid=1391856348')
|
70 |
worksheet = sh.worksheet('SD_Projections_2')
|
71 |
load_display = pd.DataFrame(worksheet.get_all_records())
|
72 |
-
load_display.rename(columns={"PPR": "Median", "name": "Player"}, inplace = True)
|
73 |
-
load_display['Floor'] = load_display['Median'] * .25
|
74 |
-
load_display['Ceiling'] = load_display['Median'] + (load_display['Median'] * .75)
|
75 |
load_display.replace('', np.nan, inplace=True)
|
76 |
-
raw_display = load_display.dropna(subset=['
|
77 |
-
|
78 |
-
|
|
|
79 |
|
80 |
-
@st.cache_resource(ttl=600)
|
81 |
-
def load_fd_player_projections_2():
|
82 |
-
sh = gcservice_account.open_by_url('https://docs.google.com/spreadsheets/d/1I_1Ve3F4tftgfLQQoRKOJ351XfEG48s36OxXUKxmgS8/edit#gid=1391856348')
|
83 |
worksheet = sh.worksheet('FD_SD_Projections_2')
|
84 |
load_display = pd.DataFrame(worksheet.get_all_records())
|
85 |
-
load_display.rename(columns={"Half_PPR": "Median", "name": "Player"}, inplace = True)
|
86 |
-
load_display['Floor'] = load_display['Median'] * .25
|
87 |
-
load_display['Ceiling'] = load_display['Median'] + (load_display['Median'] * .75)
|
88 |
load_display.replace('', np.nan, inplace=True)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
89 |
raw_display = load_display.dropna(subset=['Median'])
|
|
|
90 |
|
91 |
-
return
|
92 |
|
93 |
-
dk_roo_raw =
|
94 |
-
dk_roo_raw_2 = load_dk_player_projections_2()
|
95 |
-
fd_roo_raw = load_fd_player_projections()
|
96 |
-
fd_roo_raw_2 = load_fd_player_projections_2()
|
97 |
|
98 |
static_exposure = pd.DataFrame(columns=['Player', 'count'])
|
99 |
overall_exposure = pd.DataFrame(columns=['Player', 'count'])
|
@@ -590,12 +602,9 @@ with tab2:
|
|
590 |
st.cache_data.clear()
|
591 |
for key in st.session_state.keys():
|
592 |
del st.session_state[key]
|
593 |
-
dk_roo_raw =
|
594 |
-
dk_roo_raw_2 = load_dk_player_projections_2()
|
595 |
-
fd_roo_raw = load_fd_player_projections()
|
596 |
-
fd_roo_raw_2 = load_fd_player_projections_2()
|
597 |
|
598 |
-
slate_var1 = st.radio("Which data are you loading?", ('Paydirt (Main)', 'Paydirt (Secondary)', 'User'))
|
599 |
site_var1 = 'Draftkings'
|
600 |
if site_var1 == 'Draftkings':
|
601 |
if slate_var1 == 'User':
|
@@ -604,6 +613,8 @@ with tab2:
|
|
604 |
raw_baselines = dk_roo_raw
|
605 |
elif slate_var1 == 'Paydirt (Secondary)':
|
606 |
raw_baselines = dk_roo_raw_2
|
|
|
|
|
607 |
elif site_var1 == 'Fanduel':
|
608 |
if slate_var1 == 'User':
|
609 |
raw_baselines = proj_dataframe
|
@@ -611,6 +622,8 @@ with tab2:
|
|
611 |
raw_baselines = dk_roo_raw
|
612 |
elif slate_var1 == 'Paydirt (Secondary)':
|
613 |
raw_baselines = dk_roo_raw_2
|
|
|
|
|
614 |
|
615 |
st.info("If you are uploading a portfolio, note that there is an adjustments to projections and deviation mapping to prevent 'Projection Bias' and create a fair simulation")
|
616 |
insert_port1 = st.selectbox("Are you uploading a portfolio?", ('No', 'Yes'))
|
|
|
38 |
|
39 |
freq_format = {'Proj Own': '{:.2%}', 'Exposure': '{:.2%}', 'Edge': '{:.2%}'}
|
40 |
|
41 |
+
@st.cache_resource(ttl=601)
|
42 |
+
def init_baselines():
|
43 |
+
sh = gcservice_account.open_by_url('https://docs.google.com/spreadsheets/d/1I_1Ve3F4tftgfLQQoRKOJ351XfEG48s36OxXUKxmgS8/edit#gid=1030253279')
|
44 |
worksheet = sh.worksheet('SD_Projections')
|
45 |
load_display = pd.DataFrame(worksheet.get_all_records())
|
|
|
|
|
|
|
46 |
load_display.replace('', np.nan, inplace=True)
|
47 |
+
raw_display = load_display.dropna(subset=['PPR'])
|
48 |
+
raw_display.rename(columns={"name": "Player", "PPR": "Median"}, inplace = True)
|
49 |
+
raw_display = raw_display[['Player', 'Salary', 'Position', 'Team', 'Opp', 'Median', 'Own', 'rush_yards', 'rec']]
|
50 |
+
dk_roo_raw = raw_display.loc[raw_display['Median'] > 0]
|
51 |
|
|
|
|
|
|
|
|
|
|
|
52 |
worksheet = sh.worksheet('FD_SD_Projections')
|
53 |
load_display = pd.DataFrame(worksheet.get_all_records())
|
|
|
|
|
|
|
54 |
load_display.replace('', np.nan, inplace=True)
|
55 |
+
raw_display = load_display.dropna(subset=['Half_PPR'])
|
56 |
+
raw_display.rename(columns={"name": "Player", "Half_PPR": "Median"}, inplace = True)
|
57 |
+
raw_display = raw_display[['Player', 'Salary', 'Position', 'Team', 'Opp', 'Median', 'Own', 'rush_yards', 'rec']]
|
58 |
+
fd_roo_raw = raw_display.loc[raw_display['Median'] > 0]
|
59 |
|
|
|
|
|
|
|
60 |
worksheet = sh.worksheet('SD_Projections_2')
|
61 |
load_display = pd.DataFrame(worksheet.get_all_records())
|
|
|
|
|
|
|
62 |
load_display.replace('', np.nan, inplace=True)
|
63 |
+
raw_display = load_display.dropna(subset=['PPR'])
|
64 |
+
raw_display.rename(columns={"name": "Player", "PPR": "Median"}, inplace = True)
|
65 |
+
raw_display = raw_display[['Player', 'Salary', 'Position', 'Team', 'Opp', 'Median', 'Own', 'rush_yards', 'rec']]
|
66 |
+
dk_roo_raw_2 = raw_display.loc[raw_display['Median'] > 0]
|
67 |
|
|
|
|
|
|
|
68 |
worksheet = sh.worksheet('FD_SD_Projections_2')
|
69 |
load_display = pd.DataFrame(worksheet.get_all_records())
|
|
|
|
|
|
|
70 |
load_display.replace('', np.nan, inplace=True)
|
71 |
+
raw_display = load_display.dropna(subset=['Half_PPR'])
|
72 |
+
raw_display.rename(columns={"name": "Player", "Half_PPR": "Median"}, inplace = True)
|
73 |
+
raw_display = raw_display[['Player', 'Salary', 'Position', 'Team', 'Opp', 'Median', 'Own', 'rush_yards', 'rec']]
|
74 |
+
fd_roo_raw_2 = raw_display.loc[raw_display['Median'] > 0]
|
75 |
+
|
76 |
+
worksheet = sh.worksheet('SD_Projections_3')
|
77 |
+
load_display = pd.DataFrame(worksheet.get_all_records())
|
78 |
+
load_display.replace('', np.nan, inplace=True)
|
79 |
+
raw_display = load_display.dropna(subset=['PPR'])
|
80 |
+
raw_display.rename(columns={"name": "Player", "PPR": "Median"}, inplace = True)
|
81 |
+
raw_display = raw_display[['Player', 'Salary', 'Position', 'Team', 'Opp', 'Median', 'Own', 'rush_yards', 'rec']]
|
82 |
+
dk_roo_raw_3 = raw_display.loc[raw_display['Median'] > 0]
|
83 |
+
|
84 |
+
worksheet = sh.worksheet('FD_SD_Projections_3')
|
85 |
+
load_display = pd.DataFrame(worksheet.get_all_records())
|
86 |
+
load_display.replace('', np.nan, inplace=True)
|
87 |
+
raw_display = load_display.dropna(subset=['Half_PPR'])
|
88 |
+
raw_display.rename(columns={"name": "Player", "Half_PPR": "Median"}, inplace = True)
|
89 |
+
raw_display = raw_display[['Player', 'Salary', 'Position', 'Team', 'Opp', 'Median', 'Own', 'rush_yards', 'rec']]
|
90 |
+
fd_roo_raw_3 = raw_display.loc[raw_display['Median'] > 0]
|
91 |
+
|
92 |
+
worksheet = sh.worksheet('SD_Projections')
|
93 |
+
load_display = pd.DataFrame(worksheet.get_all_records())
|
94 |
+
load_display.replace('', np.nan, inplace=True)
|
95 |
+
load_display.rename(columns={"PPR": "Median", "name": "Player"}, inplace = True)
|
96 |
+
raw_display = load_display.dropna(subset=['Median'])
|
97 |
+
dk_ids = dict(zip(raw_display['Player'], raw_display['player_id']))
|
98 |
+
|
99 |
+
worksheet = sh.worksheet('FD_SD_Projections')
|
100 |
+
load_display = pd.DataFrame(worksheet.get_all_records())
|
101 |
+
load_display.replace('', np.nan, inplace=True)
|
102 |
+
load_display.rename(columns={"Half_PPR": "Median", "name": "Player"}, inplace = True)
|
103 |
raw_display = load_display.dropna(subset=['Median'])
|
104 |
+
fd_ids = dict(zip(raw_display['Player'], raw_display['player_id']))
|
105 |
|
106 |
+
return dk_roo_raw, dk_roo_raw_2, dk_roo_raw_3, fd_roo_raw, fd_roo_raw_2, fd_roo_raw_3, dk_ids, fd_ids
|
107 |
|
108 |
+
dk_roo_raw, dk_roo_raw_2, dk_roo_raw_3, fd_roo_raw, fd_roo_raw_2, fd_roo_raw_3, dkid_dict, fdid_dict = init_baselines()
|
|
|
|
|
|
|
109 |
|
110 |
static_exposure = pd.DataFrame(columns=['Player', 'count'])
|
111 |
overall_exposure = pd.DataFrame(columns=['Player', 'count'])
|
|
|
602 |
st.cache_data.clear()
|
603 |
for key in st.session_state.keys():
|
604 |
del st.session_state[key]
|
605 |
+
dk_roo_raw, dk_roo_raw_2, dk_roo_raw_3, fd_roo_raw, fd_roo_raw_2, fd_roo_raw_3, dkid_dict, fdid_dict = init_baselines()
|
|
|
|
|
|
|
606 |
|
607 |
+
slate_var1 = st.radio("Which data are you loading?", ('Paydirt (Main)', 'Paydirt (Secondary)', 'Paydirt (Third)', 'User'))
|
608 |
site_var1 = 'Draftkings'
|
609 |
if site_var1 == 'Draftkings':
|
610 |
if slate_var1 == 'User':
|
|
|
613 |
raw_baselines = dk_roo_raw
|
614 |
elif slate_var1 == 'Paydirt (Secondary)':
|
615 |
raw_baselines = dk_roo_raw_2
|
616 |
+
elif slate_var1 == 'Paydirt (Third)':
|
617 |
+
raw_baselines = dk_roo_raw_3
|
618 |
elif site_var1 == 'Fanduel':
|
619 |
if slate_var1 == 'User':
|
620 |
raw_baselines = proj_dataframe
|
|
|
622 |
raw_baselines = dk_roo_raw
|
623 |
elif slate_var1 == 'Paydirt (Secondary)':
|
624 |
raw_baselines = dk_roo_raw_2
|
625 |
+
elif slate_var1 == 'Paydirt (Third)':
|
626 |
+
raw_baselines = dk_roo_raw_3
|
627 |
|
628 |
st.info("If you are uploading a portfolio, note that there is an adjustments to projections and deviation mapping to prevent 'Projection Bias' and create a fair simulation")
|
629 |
insert_port1 = st.selectbox("Are you uploading a portfolio?", ('No', 'Yes'))
|