Spaces:
Build error
Build error
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'))
|