James McCool commited on
Commit
a2dd3d5
·
1 Parent(s): 9948927

Enhance projection calculations by adding 'cpt_Own_map' to mapping logic in app.py. Updated 'Proj Own' calculations for both 'cpt_working' and 'flex_working' DataFrames to utilize the new mapping, improving accuracy in player ownership projections.

Browse files
Files changed (1) hide show
  1. app.py +4 -4
app.py CHANGED
@@ -415,6 +415,7 @@ with tab1:
415
  'Salary_map':dict(zip(raw_baselines.Player,raw_baselines.Salary)),
416
  'Pos_map':dict(zip(raw_baselines.Player,raw_baselines.Position)),
417
  'Own_map':dict(zip(raw_baselines.Player,raw_baselines['Own'])),
 
418
  'Team_map':dict(zip(raw_baselines.Player,raw_baselines.Team)),
419
  'STDev_map':dict(zip(raw_baselines.Player,raw_baselines.STDev))
420
  }
@@ -454,6 +455,7 @@ with tab1:
454
  'Salary_map':dict(zip(raw_baselines.Player,raw_baselines.Salary)),
455
  'Pos_map':dict(zip(raw_baselines.Player,raw_baselines.Position)),
456
  'Own_map':dict(zip(raw_baselines.Player,raw_baselines['Own'])),
 
457
  'Team_map':dict(zip(raw_baselines.Player,raw_baselines.Team)),
458
  'STDev_map':dict(zip(raw_baselines.Player,raw_baselines.STDev))
459
  }
@@ -505,15 +507,13 @@ with tab1:
505
  if sim_site_var1 == 'Draftkings':
506
  cpt_working = pd.DataFrame(np.column_stack(np.unique(freq_copy.iloc[:,0:1].values, return_counts=True)),
507
  columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
508
- cpt_own_div = 600
509
  elif sim_site_var1 == 'Fanduel':
510
  cpt_working = pd.DataFrame(np.column_stack(np.unique(freq_copy.iloc[:,0:1].values, return_counts=True)),
511
  columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
512
- cpt_own_div = 500
513
  cpt_working['Freq'] = cpt_working['Freq'].astype(int)
514
  cpt_working['Position'] = cpt_working['Player'].map(maps_dict['Pos_map'])
515
  cpt_working['Salary'] = cpt_working['Player'].map(maps_dict['Salary_map'])
516
- cpt_working['Proj Own'] = cpt_working['Player'].map(maps_dict['Own_map']) / cpt_own_div
517
  cpt_working['Exposure'] = cpt_working['Freq']/(1000)
518
  cpt_working['Edge'] = cpt_working['Exposure'] - cpt_working['Proj Own']
519
  cpt_working['Team'] = cpt_working['Player'].map(maps_dict['Team_map'])
@@ -533,7 +533,7 @@ with tab1:
533
  flex_working['Salary'] = flex_working['Player'].map(maps_dict['Salary_map']) / 1.5
534
  elif sim_site_var1 == 'Fanduel':
535
  flex_working['Salary'] = flex_working['Player'].map(maps_dict['Salary_map'])
536
- flex_working['Proj Own'] = (flex_working['Player'].map(maps_dict['Own_map']) / 100) - (flex_working['Player'].map(maps_dict['Own_map']) / cpt_own_div)
537
  flex_working['Exposure'] = flex_working['Freq']/(1000)
538
  flex_working['Edge'] = flex_working['Exposure'] - flex_working['Proj Own']
539
  flex_working['Team'] = flex_working['Player'].map(maps_dict['Team_map'])
 
415
  'Salary_map':dict(zip(raw_baselines.Player,raw_baselines.Salary)),
416
  'Pos_map':dict(zip(raw_baselines.Player,raw_baselines.Position)),
417
  'Own_map':dict(zip(raw_baselines.Player,raw_baselines['Own'])),
418
+ 'cpt_Own_map':dict(zip(raw_baselines.Player,raw_baselines['CPT_Own'])),
419
  'Team_map':dict(zip(raw_baselines.Player,raw_baselines.Team)),
420
  'STDev_map':dict(zip(raw_baselines.Player,raw_baselines.STDev))
421
  }
 
455
  'Salary_map':dict(zip(raw_baselines.Player,raw_baselines.Salary)),
456
  'Pos_map':dict(zip(raw_baselines.Player,raw_baselines.Position)),
457
  'Own_map':dict(zip(raw_baselines.Player,raw_baselines['Own'])),
458
+ 'cpt_Own_map':dict(zip(raw_baselines.Player,raw_baselines['CPT_Own'])),
459
  'Team_map':dict(zip(raw_baselines.Player,raw_baselines.Team)),
460
  'STDev_map':dict(zip(raw_baselines.Player,raw_baselines.STDev))
461
  }
 
507
  if sim_site_var1 == 'Draftkings':
508
  cpt_working = pd.DataFrame(np.column_stack(np.unique(freq_copy.iloc[:,0:1].values, return_counts=True)),
509
  columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
 
510
  elif sim_site_var1 == 'Fanduel':
511
  cpt_working = pd.DataFrame(np.column_stack(np.unique(freq_copy.iloc[:,0:1].values, return_counts=True)),
512
  columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
 
513
  cpt_working['Freq'] = cpt_working['Freq'].astype(int)
514
  cpt_working['Position'] = cpt_working['Player'].map(maps_dict['Pos_map'])
515
  cpt_working['Salary'] = cpt_working['Player'].map(maps_dict['Salary_map'])
516
+ cpt_working['Proj Own'] = cpt_working['Player'].map(maps_dict['cpt_Own_map'])
517
  cpt_working['Exposure'] = cpt_working['Freq']/(1000)
518
  cpt_working['Edge'] = cpt_working['Exposure'] - cpt_working['Proj Own']
519
  cpt_working['Team'] = cpt_working['Player'].map(maps_dict['Team_map'])
 
533
  flex_working['Salary'] = flex_working['Player'].map(maps_dict['Salary_map']) / 1.5
534
  elif sim_site_var1 == 'Fanduel':
535
  flex_working['Salary'] = flex_working['Player'].map(maps_dict['Salary_map'])
536
+ flex_working['Proj Own'] = (flex_working['Player'].map(maps_dict['Own_map']) / 100) - (flex_working['Player'].map(maps_dict['cpt_Own_map']))
537
  flex_working['Exposure'] = flex_working['Freq']/(1000)
538
  flex_working['Edge'] = flex_working['Exposure'] - flex_working['Proj Own']
539
  flex_working['Team'] = flex_working['Player'].map(maps_dict['Team_map'])