James McCool commited on
Commit
6c8b87b
·
1 Parent(s): b23fb9c

Enhance scoring percentage calculations in app.py by implementing slate-specific logic for DraftKings and FanDuel, ensuring accurate ranking and representation of top scores across different slate types.

Browse files
Files changed (1) hide show
  1. app.py +17 -3
app.py CHANGED
@@ -88,7 +88,8 @@ def init_baselines():
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
- 'DK Main Slate', 'DK Secondary Slate', 'DK Turbo Slate', 'FD Main Slate', 'FD Secondary Slate', 'FD 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)
@@ -315,8 +316,21 @@ with tab1:
315
  scoring_percentages = scoring_percentages.merge(fd_team_ownership, left_on='Names', right_on='Team', how='left')
316
  scoring_percentages.rename(columns={'Own%': 'FD Own%'}, inplace=True)
317
  scoring_percentages.drop('Team', axis=1, inplace=True)
318
- scoring_percentages['DK LevX'] = scoring_percentages['Top Score'].rank(pct=True).astype(float) - scoring_percentages['DK Own%'].rank(pct=True).astype(float)
319
- scoring_percentages['FD LevX'] = scoring_percentages['Top Score'].rank(pct=True).astype(float) - scoring_percentages['FD Own%'].rank(pct=True).astype(float)
 
 
 
 
 
 
 
 
 
 
 
 
 
320
 
321
  scoring_percentages = scoring_percentages.sort_values(by='8+ runs', ascending=False)
322
  scoring_percentages = scoring_percentages.drop(['DK Main Slate', 'DK Secondary Slate', 'DK Turbo Slate', 'FD Main Slate', 'FD Secondary Slate', 'FD Turbo Slate'], axis=1)
 
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
+ 'DK Main Slate', 'DK Secondary Slate', 'DK Turbo Slate', 'FD Main Slate', 'FD Secondary Slate', 'FD Turbo Slate', 'DK Main Top Score', 'FD Main Top Score', 'DK Secondary Top Score', 'FD Secondary Top Score',
92
+ 'DK Turbo Top Score', 'FD Turbo Top Score']]
93
  scoring_percentages['8+ runs'] = scoring_percentages['8+ runs'].replace('%', '', regex=True).astype(float)
94
  scoring_percentages['Win Percentage'] = scoring_percentages['Win Percentage'].replace('%', '', regex=True).astype(float)
95
  scoring_percentages['Top Score'] = scoring_percentages['Top Score'].replace('', np.nan).astype(float)
 
316
  scoring_percentages = scoring_percentages.merge(fd_team_ownership, left_on='Names', right_on='Team', how='left')
317
  scoring_percentages.rename(columns={'Own%': 'FD Own%'}, inplace=True)
318
  scoring_percentages.drop('Team', axis=1, inplace=True)
319
+ if site_var == 'Draftkings':
320
+ if slate_var1 == 'Main Slate':
321
+ scoring_percentages['DK LevX'] = scoring_percentages['DK Main Top Score'].rank(pct=True).astype(float) - scoring_percentages['DK Own%'].rank(pct=True).astype(float)
322
+ scoring_percentages = scoring_percentages.rename(columns={'DK Main Top Score': 'Top Score'})
323
+ elif slate_var1 == 'Secondary Slate':
324
+ scoring_percentages['DK LevX'] = scoring_percentages['DK Secondary Top Score'].rank(pct=True).astype(float) - scoring_percentages['DK Own%'].rank(pct=True).astype(float)
325
+ elif slate_var1 == 'Turbo Slate':
326
+ scoring_percentages['DK LevX'] = scoring_percentages['DK Turbo Top Score'].rank(pct=True).astype(float) - scoring_percentages['DK Own%'].rank(pct=True).astype(float)
327
+ elif site_var == 'Fanduel':
328
+ if slate_var1 == 'Main Slate':
329
+ scoring_percentages['FD LevX'] = scoring_percentages['FD Main Top Score'].rank(pct=True).astype(float) - scoring_percentages['FD Own%'].rank(pct=True).astype(float)
330
+ elif slate_var1 == 'Secondary Slate':
331
+ scoring_percentages['FD LevX'] = scoring_percentages['FD Secondary Top Score'].rank(pct=True).astype(float) - scoring_percentages['FD Own%'].rank(pct=True).astype(float)
332
+ elif slate_var1 == 'Turbo Slate':
333
+ scoring_percentages['FD LevX'] = scoring_percentages['FD Turbo Top Score'].rank(pct=True).astype(float) - scoring_percentages['FD Own%'].rank(pct=True).astype(float)
334
 
335
  scoring_percentages = scoring_percentages.sort_values(by='8+ runs', ascending=False)
336
  scoring_percentages = scoring_percentages.drop(['DK Main Slate', 'DK Secondary Slate', 'DK Turbo Slate', 'FD Main Slate', 'FD Secondary Slate', 'FD Turbo Slate'], axis=1)