James McCool commited on
Commit
e27c475
·
1 Parent(s): f746fee

Update scoring percentages and filtering logic in app.py to accommodate multiple slate types for DraftKings and FanDuel, enhancing data accuracy and user experience.

Browse files
Files changed (1) hide show
  1. app.py +20 -7
app.py CHANGED
@@ -87,7 +87,8 @@ def init_baselines():
87
  cursor = collection.find()
88
  team_frame = pd.DataFrame(cursor)
89
  scoring_percentages = team_frame.drop(columns=['_id'])
90
- scoring_percentages = scoring_percentages[['Names', 'Avg First Inning', 'First Inning Lead Percentage', 'Avg Fifth Inning', 'Fifth Inning Lead Percentage', 'Avg Score', '8+ runs', 'Win Percentage', 'Slate', 'Top Score']]
 
91
  scoring_percentages['8+ runs'] = scoring_percentages['8+ runs'].replace('%', '', regex=True).astype(float)
92
  scoring_percentages['Win Percentage'] = scoring_percentages['Win Percentage'].replace('%', '', regex=True).astype(float)
93
  scoring_percentages['Top Score'] = scoring_percentages['Top Score'].replace('', np.nan).astype(float)
@@ -276,16 +277,28 @@ with tab1:
276
  own_var1 = st.radio("How would you like to display team ownership?", ('Sum', 'Average'), key='own_var1')
277
 
278
  if slate_var1 == 'Main Slate':
279
- scoring_percentages = scoring_percentages[scoring_percentages['Slate'] == 'Main']
280
- elif slate_var1 != 'Main Slate':
281
- pass
 
 
282
 
283
  dk_hitters_only = dk_roo[dk_roo['pos_group'] != 'Pitchers']
284
- dk_hitters_only = dk_hitters_only[dk_hitters_only['Slate'] == 'main_slate']
 
 
 
 
 
285
  dk_hitters_only = dk_hitters_only.replace('CWS', 'CHW')
286
  dk_team_ownership = dk_hitters_only.groupby('Team')['Own%'].sum().reset_index()
287
  fd_hitters_only = fd_roo[fd_roo['pos_group'] != 'Pitchers']
288
- fd_hitters_only = fd_hitters_only[fd_hitters_only['Slate'] == 'main_slate']
 
 
 
 
 
289
  fd_hitters_only = fd_hitters_only.replace('CWS', 'CHW')
290
  fd_team_ownership = fd_hitters_only.groupby('Team')['Own%'].sum().reset_index()
291
  scoring_percentages = scoring_percentages.merge(dk_team_ownership, left_on='Names', right_on='Team', how='left')
@@ -298,7 +311,7 @@ with tab1:
298
  scoring_percentages['FD LevX'] = scoring_percentages['Top Score'].rank(pct=True).astype(float) - scoring_percentages['FD Own%'].rank(pct=True).astype(float)
299
 
300
  scoring_percentages = scoring_percentages.sort_values(by='8+ runs', ascending=False)
301
- scoring_percentages = scoring_percentages.drop('Slate', axis=1)
302
 
303
  if view_var == "Simple":
304
  scoring_percentages = scoring_percentages[['Names', 'Avg Score', '8+ runs', 'Win Percentage']]
 
87
  cursor = collection.find()
88
  team_frame = pd.DataFrame(cursor)
89
  scoring_percentages = team_frame.drop(columns=['_id'])
90
+ scoring_percentages = scoring_percentages[['Names', 'Avg First Inning', 'First Inning Lead Percentage', 'Avg Fifth Inning', 'Fifth Inning Lead Percentage', 'Avg Score', '8+ runs', 'Win Percentage',
91
+ 'Main Slate', 'Secondary Slate', 'Turbo Slate', 'Top Score']]
92
  scoring_percentages['8+ runs'] = scoring_percentages['8+ runs'].replace('%', '', regex=True).astype(float)
93
  scoring_percentages['Win Percentage'] = scoring_percentages['Win Percentage'].replace('%', '', regex=True).astype(float)
94
  scoring_percentages['Top Score'] = scoring_percentages['Top Score'].replace('', np.nan).astype(float)
 
277
  own_var1 = st.radio("How would you like to display team ownership?", ('Sum', 'Average'), key='own_var1')
278
 
279
  if slate_var1 == 'Main Slate':
280
+ scoring_percentages = scoring_percentages[scoring_percentages['Main Slate'] == 1]
281
+ elif slate_var1 == 'Secondary Slate':
282
+ scoring_percentages = scoring_percentages[scoring_percentages['Secondary Slate'] == 1]
283
+ elif slate_var1 == 'Turbo Slate':
284
+ scoring_percentages = scoring_percentages[scoring_percentages['Turbo Slate'] == 1]
285
 
286
  dk_hitters_only = dk_roo[dk_roo['pos_group'] != 'Pitchers']
287
+ if slate_var1 == 'Main Slate':
288
+ dk_hitters_only = dk_hitters_only[dk_hitters_only['Slate'] == 'main_slate']
289
+ elif slate_var1 == 'Secondary Slate':
290
+ dk_hitters_only = dk_hitters_only[dk_hitters_only['Slate'] == 'secondary_slate']
291
+ elif slate_var1 == 'Turbo Slate':
292
+ dk_hitters_only = dk_hitters_only[dk_hitters_only['Slate'] == 'turbo_slate']
293
  dk_hitters_only = dk_hitters_only.replace('CWS', 'CHW')
294
  dk_team_ownership = dk_hitters_only.groupby('Team')['Own%'].sum().reset_index()
295
  fd_hitters_only = fd_roo[fd_roo['pos_group'] != 'Pitchers']
296
+ if slate_var1 == 'Main Slate':
297
+ fd_hitters_only = fd_hitters_only[fd_hitters_only['Slate'] == 'main_slate']
298
+ elif slate_var1 == 'Secondary Slate':
299
+ fd_hitters_only = fd_hitters_only[fd_hitters_only['Slate'] == 'secondary_slate']
300
+ elif slate_var1 == 'Turbo Slate':
301
+ fd_hitters_only = fd_hitters_only[fd_hitters_only['Slate'] == 'turbo_slate']
302
  fd_hitters_only = fd_hitters_only.replace('CWS', 'CHW')
303
  fd_team_ownership = fd_hitters_only.groupby('Team')['Own%'].sum().reset_index()
304
  scoring_percentages = scoring_percentages.merge(dk_team_ownership, left_on='Names', right_on='Team', how='left')
 
311
  scoring_percentages['FD LevX'] = scoring_percentages['Top Score'].rank(pct=True).astype(float) - scoring_percentages['FD Own%'].rank(pct=True).astype(float)
312
 
313
  scoring_percentages = scoring_percentages.sort_values(by='8+ runs', ascending=False)
314
+ scoring_percentages = scoring_percentages.drop(['Main Slate', 'Secondary Slate', 'Turbo Slate'], axis=1)
315
 
316
  if view_var == "Simple":
317
  scoring_percentages = scoring_percentages[['Names', 'Avg Score', '8+ runs', 'Win Percentage']]