Multichem commited on
Commit
a4b28d5
·
1 Parent(s): 14dd076

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +36 -43
app.py CHANGED
@@ -47,8 +47,8 @@ expose_format = {'Proj Own': '{:.2%}','Exposure': '{:.2%}'}
47
 
48
  all_dk_player_projections = 'https://docs.google.com/spreadsheets/d/1I_1Ve3F4tftgfLQQoRKOJ351XfEG48s36OxXUKxmgS8/edit#gid=1391856348'
49
 
50
- @st.cache_resource(ttl=30)
51
- def load_dk_player_projections():
52
  sh = gc.open_by_url(all_dk_player_projections)
53
  worksheet = sh.worksheet('SD_Projections')
54
  load_display = pd.DataFrame(worksheet.get_all_records())
@@ -56,52 +56,48 @@ def load_dk_player_projections():
56
  raw_display = load_display.dropna(subset=['PPR'])
57
  raw_display.rename(columns={"name": "Player", "PPR": "Median"}, inplace = True)
58
  raw_display = raw_display[['Player', 'Salary', 'Position', 'Team', 'Opp', 'Median', 'Own', 'rush_yards', 'rec']]
59
- raw_display = raw_display.loc[raw_display['Median'] > 0]
60
 
61
- return raw_display
62
-
63
- @st.cache_resource(ttl=30)
64
- def load_fd_player_projections():
65
- sh = gc.open_by_url(all_dk_player_projections)
66
  worksheet = sh.worksheet('FD_SD_Projections')
67
  load_display = pd.DataFrame(worksheet.get_all_records())
68
  load_display.replace('', np.nan, inplace=True)
69
  raw_display = load_display.dropna(subset=['Half_PPR'])
70
  raw_display.rename(columns={"name": "Player", "Half_PPR": "Median"}, inplace = True)
71
  raw_display = raw_display[['Player', 'Salary', 'Position', 'Team', 'Opp', 'Median', 'Own', 'rush_yards', 'rec']]
72
- raw_display = raw_display.loc[raw_display['Median'] > 0]
73
-
74
- return raw_display
75
 
76
- @st.cache_resource(ttl=600)
77
- def load_dk_player_projections_2():
78
- sh = gc.open_by_url(all_dk_player_projections)
79
  worksheet = sh.worksheet('SD_Projections_2')
80
  load_display = pd.DataFrame(worksheet.get_all_records())
81
  load_display.replace('', np.nan, inplace=True)
82
  raw_display = load_display.dropna(subset=['PPR'])
83
  raw_display.rename(columns={"name": "Player", "PPR": "Median"}, inplace = True)
84
  raw_display = raw_display[['Player', 'Salary', 'Position', 'Team', 'Opp', 'Median', 'Own', 'rush_yards', 'rec']]
85
- raw_display = raw_display.loc[raw_display['Median'] > 0]
86
-
87
- return raw_display
88
 
89
- @st.cache_resource(ttl=600)
90
- def load_fd_player_projections_2():
91
- sh = gc.open_by_url(all_dk_player_projections)
92
  worksheet = sh.worksheet('FD_SD_Projections_2')
93
  load_display = pd.DataFrame(worksheet.get_all_records())
94
  load_display.replace('', np.nan, inplace=True)
95
  raw_display = load_display.dropna(subset=['Half_PPR'])
96
  raw_display.rename(columns={"name": "Player", "Half_PPR": "Median"}, inplace = True)
97
  raw_display = raw_display[['Player', 'Salary', 'Position', 'Team', 'Opp', 'Median', 'Own', 'rush_yards', 'rec']]
98
- raw_display = raw_display.loc[raw_display['Median'] > 0]
 
 
 
 
 
 
 
 
99
 
100
- return raw_display
 
 
 
 
 
 
101
 
102
- @st.cache_resource(ttl = 3600)
103
- def set_export_ids():
104
- sh = gc.open_by_url(all_dk_player_projections)
105
  worksheet = sh.worksheet('SD_Projections')
106
  load_display = pd.DataFrame(worksheet.get_all_records())
107
  load_display.replace('', np.nan, inplace=True)
@@ -116,13 +112,9 @@ def set_export_ids():
116
  raw_display = load_display.dropna(subset=['Median'])
117
  fd_ids = dict(zip(raw_display['Player'], raw_display['player_id']))
118
 
119
- return dk_ids, fd_ids
120
 
121
- dk_roo_raw = load_dk_player_projections()
122
- dk_roo_raw_2 = load_dk_player_projections_2()
123
- fd_roo_raw = load_fd_player_projections()
124
- fd_roo_raw_2 = load_fd_player_projections_2()
125
- dkid_dict, fdid_dict = set_export_ids()
126
 
127
  @st.cache_data
128
  def convert_df_to_csv(df):
@@ -161,12 +153,8 @@ with tab2:
161
  with col1:
162
  if st.button("Load/Reset Data", key='reset2'):
163
  st.cache_data.clear()
164
- dk_roo_raw = load_dk_player_projections()
165
- dk_roo_raw_2 = load_dk_player_projections_2()
166
- fd_roo_raw = load_fd_player_projections()
167
- fd_roo_raw_2 = load_fd_player_projections_2()
168
- dkid_dict, fdid_dict = set_export_ids()
169
- slate_var2 = st.radio("Which data are you loading?", ('Paydirt (Main)', 'Paydirt (Secondary)', 'User'), key='slate_var2')
170
  site_var2 = st.radio("What table would you like to display?", ('Draftkings', 'Fanduel'), key='site_var2')
171
  if slate_var2 == 'User':
172
  raw_baselines = proj_dataframe
@@ -176,11 +164,15 @@ with tab2:
176
  raw_baselines = dk_roo_raw
177
  elif slate_var2 == 'Paydirt (Secondary)':
178
  raw_baselines = dk_roo_raw_2
 
 
179
  elif site_var2 == 'Fanduel':
180
  if slate_var2 == 'Paydirt (Main)':
181
  raw_baselines = fd_roo_raw
182
  elif slate_var2 == 'Paydirt (Secondary)':
183
  raw_baselines = fd_roo_raw_2
 
 
184
 
185
  with col2:
186
  hold_container = st.empty()
@@ -289,14 +281,10 @@ with tab3:
289
  with col1:
290
  if st.button("Load/Reset Data", key='reset1'):
291
  st.cache_data.clear()
292
- dk_roo_raw = load_dk_player_projections()
293
- dk_roo_raw_2 = load_dk_player_projections_2()
294
- fd_roo_raw = load_fd_player_projections()
295
- fd_roo_raw_2 = load_fd_player_projections_2()
296
- dkid_dict, fdid_dict = set_export_ids()
297
  for key in st.session_state.keys():
298
  del st.session_state[key]
299
- slate_var1 = st.radio("Which data are you loading?", ('Paydirt (Main)', 'Paydirt (Secondary)', 'User'), key='slate_var1')
300
  site_var1 = st.selectbox("What site is the showdown on?", ('Draftkings', 'Fanduel'), key='site_var1')
301
  if site_var1 == 'Draftkings':
302
  if slate_var1 == 'User':
@@ -305,6 +293,8 @@ with tab3:
305
  raw_baselines = dk_roo_raw
306
  elif slate_var1 == 'Paydirt (Secondary)':
307
  raw_baselines = dk_roo_raw_2
 
 
308
  elif site_var1 == 'Fanduel':
309
  if slate_var1 == 'User':
310
  st.info("Showdown on Fanduel sucks, you should not do that, but I understand degen's gotta degen")
@@ -315,6 +305,9 @@ with tab3:
315
  elif slate_var1 == 'Paydirt (Secondary)':
316
  st.info("Showdown on Fanduel sucks, you should not do that, but I understand degen's gotta degen")
317
  raw_baselines = fd_roo_raw_2
 
 
 
318
  contest_var1 = st.selectbox("What contest type are you optimizing for?", ('Cash', 'Small Field GPP', 'Large Field GPP'), key='contest_var1')
319
  lock_var1 = st.multiselect("Are there any players you want to use in all lineups in the CAPTAIN (Lock Button)?", options = raw_baselines['Player'].unique(), key='lock_var1')
320
  lock_var2 = st.multiselect("Are there any players you want to use in all lineups in the FLEX (Lock Button)?", options = raw_baselines['Player'].unique(), key='lock_var2')
 
47
 
48
  all_dk_player_projections = 'https://docs.google.com/spreadsheets/d/1I_1Ve3F4tftgfLQQoRKOJ351XfEG48s36OxXUKxmgS8/edit#gid=1391856348'
49
 
50
+ @st.cache_resource(ttl=300)
51
+ def init_baselines():
52
  sh = gc.open_by_url(all_dk_player_projections)
53
  worksheet = sh.worksheet('SD_Projections')
54
  load_display = pd.DataFrame(worksheet.get_all_records())
 
56
  raw_display = load_display.dropna(subset=['PPR'])
57
  raw_display.rename(columns={"name": "Player", "PPR": "Median"}, inplace = True)
58
  raw_display = raw_display[['Player', 'Salary', 'Position', 'Team', 'Opp', 'Median', 'Own', 'rush_yards', 'rec']]
59
+ dk_roo_raw = raw_display.loc[raw_display['Median'] > 0]
60
 
 
 
 
 
 
61
  worksheet = sh.worksheet('FD_SD_Projections')
62
  load_display = pd.DataFrame(worksheet.get_all_records())
63
  load_display.replace('', np.nan, inplace=True)
64
  raw_display = load_display.dropna(subset=['Half_PPR'])
65
  raw_display.rename(columns={"name": "Player", "Half_PPR": "Median"}, inplace = True)
66
  raw_display = raw_display[['Player', 'Salary', 'Position', 'Team', 'Opp', 'Median', 'Own', 'rush_yards', 'rec']]
67
+ fd_roo_raw = raw_display.loc[raw_display['Median'] > 0]
 
 
68
 
 
 
 
69
  worksheet = sh.worksheet('SD_Projections_2')
70
  load_display = pd.DataFrame(worksheet.get_all_records())
71
  load_display.replace('', np.nan, inplace=True)
72
  raw_display = load_display.dropna(subset=['PPR'])
73
  raw_display.rename(columns={"name": "Player", "PPR": "Median"}, inplace = True)
74
  raw_display = raw_display[['Player', 'Salary', 'Position', 'Team', 'Opp', 'Median', 'Own', 'rush_yards', 'rec']]
75
+ dk_roo_raw_2 = raw_display.loc[raw_display['Median'] > 0]
 
 
76
 
 
 
 
77
  worksheet = sh.worksheet('FD_SD_Projections_2')
78
  load_display = pd.DataFrame(worksheet.get_all_records())
79
  load_display.replace('', np.nan, inplace=True)
80
  raw_display = load_display.dropna(subset=['Half_PPR'])
81
  raw_display.rename(columns={"name": "Player", "Half_PPR": "Median"}, inplace = True)
82
  raw_display = raw_display[['Player', 'Salary', 'Position', 'Team', 'Opp', 'Median', 'Own', 'rush_yards', 'rec']]
83
+ fd_roo_raw_2 = raw_display.loc[raw_display['Median'] > 0]
84
+
85
+ worksheet = sh.worksheet('SD_Projections_3')
86
+ load_display = pd.DataFrame(worksheet.get_all_records())
87
+ load_display.replace('', np.nan, inplace=True)
88
+ raw_display = load_display.dropna(subset=['PPR'])
89
+ raw_display.rename(columns={"name": "Player", "PPR": "Median"}, inplace = True)
90
+ raw_display = raw_display[['Player', 'Salary', 'Position', 'Team', 'Opp', 'Median', 'Own', 'rush_yards', 'rec']]
91
+ dk_roo_raw_3 = raw_display.loc[raw_display['Median'] > 0]
92
 
93
+ worksheet = sh.worksheet('FD_SD_Projections_3')
94
+ load_display = pd.DataFrame(worksheet.get_all_records())
95
+ load_display.replace('', np.nan, inplace=True)
96
+ raw_display = load_display.dropna(subset=['Half_PPR'])
97
+ raw_display.rename(columns={"name": "Player", "Half_PPR": "Median"}, inplace = True)
98
+ raw_display = raw_display[['Player', 'Salary', 'Position', 'Team', 'Opp', 'Median', 'Own', 'rush_yards', 'rec']]
99
+ fd_roo_raw_3 = raw_display.loc[raw_display['Median'] > 0]
100
 
 
 
 
101
  worksheet = sh.worksheet('SD_Projections')
102
  load_display = pd.DataFrame(worksheet.get_all_records())
103
  load_display.replace('', np.nan, inplace=True)
 
112
  raw_display = load_display.dropna(subset=['Median'])
113
  fd_ids = dict(zip(raw_display['Player'], raw_display['player_id']))
114
 
115
+ 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
116
 
117
+ 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()
 
 
 
 
118
 
119
  @st.cache_data
120
  def convert_df_to_csv(df):
 
153
  with col1:
154
  if st.button("Load/Reset Data", key='reset2'):
155
  st.cache_data.clear()
156
+ 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()
157
+ slate_var2 = st.radio("Which data are you loading?", ('Paydirt (Main)', 'Paydirt (Secondary)', 'Payidrt (Third)', 'User'), key='slate_var2')
 
 
 
 
158
  site_var2 = st.radio("What table would you like to display?", ('Draftkings', 'Fanduel'), key='site_var2')
159
  if slate_var2 == 'User':
160
  raw_baselines = proj_dataframe
 
164
  raw_baselines = dk_roo_raw
165
  elif slate_var2 == 'Paydirt (Secondary)':
166
  raw_baselines = dk_roo_raw_2
167
+ elif slate_var2 == 'Paydirt (Third)':
168
+ raw_baselines = dk_roo_raw_3
169
  elif site_var2 == 'Fanduel':
170
  if slate_var2 == 'Paydirt (Main)':
171
  raw_baselines = fd_roo_raw
172
  elif slate_var2 == 'Paydirt (Secondary)':
173
  raw_baselines = fd_roo_raw_2
174
+ elif slate_var2 == 'Paydirt (Third)':
175
+ raw_baselines = fd_roo_raw_3
176
 
177
  with col2:
178
  hold_container = st.empty()
 
281
  with col1:
282
  if st.button("Load/Reset Data", key='reset1'):
283
  st.cache_data.clear()
284
+ 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()
 
 
 
 
285
  for key in st.session_state.keys():
286
  del st.session_state[key]
287
+ slate_var1 = st.radio("Which data are you loading?", ('Paydirt (Main)', 'Paydirt (Secondary)', 'Payidrt (Third)', 'User'), key='slate_var1')
288
  site_var1 = st.selectbox("What site is the showdown on?", ('Draftkings', 'Fanduel'), key='site_var1')
289
  if site_var1 == 'Draftkings':
290
  if slate_var1 == 'User':
 
293
  raw_baselines = dk_roo_raw
294
  elif slate_var1 == 'Paydirt (Secondary)':
295
  raw_baselines = dk_roo_raw_2
296
+ elif slate_var1 == 'Paydirt (Third)':
297
+ raw_baselines = dk_roo_raw_3
298
  elif site_var1 == 'Fanduel':
299
  if slate_var1 == 'User':
300
  st.info("Showdown on Fanduel sucks, you should not do that, but I understand degen's gotta degen")
 
305
  elif slate_var1 == 'Paydirt (Secondary)':
306
  st.info("Showdown on Fanduel sucks, you should not do that, but I understand degen's gotta degen")
307
  raw_baselines = fd_roo_raw_2
308
+ elif slate_var1 == 'Paydirt (Third)':
309
+ st.info("Showdown on Fanduel sucks, you should not do that, but I understand degen's gotta degen")
310
+ raw_baselines = fd_roo_raw_3
311
  contest_var1 = st.selectbox("What contest type are you optimizing for?", ('Cash', 'Small Field GPP', 'Large Field GPP'), key='contest_var1')
312
  lock_var1 = st.multiselect("Are there any players you want to use in all lineups in the CAPTAIN (Lock Button)?", options = raw_baselines['Player'].unique(), key='lock_var1')
313
  lock_var2 = st.multiselect("Are there any players you want to use in all lineups in the FLEX (Lock Button)?", options = raw_baselines['Player'].unique(), key='lock_var2')