Multichem commited on
Commit
8f2b3c2
·
verified ·
1 Parent(s): f175319

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +31 -31
app.py CHANGED
@@ -360,9 +360,9 @@ with tab6:
360
  with col1:
361
  game_select_var = st.selectbox('Select prop source', options = ['Aggregate', 'Pick6'])
362
  if game_select_var == 'Aggregate':
363
- prop_df = prop_frame[['Player', 'over_prop', 'over_line', 'under_line', 'prop_type']]
364
  elif game_select_var == 'Pick6':
365
- prop_df = pick_frame[['Full_name', 'over_prop', 'over_line', 'under_line', 'prop_type']]
366
  prop_df.rename(columns={"Full_name": "Player"}, inplace = True)
367
  st.download_button(
368
  label="Download Prop Source",
@@ -381,17 +381,17 @@ with tab6:
381
  for prop in all_sim_vars:
382
 
383
  if game_select_var == 'Aggregate':
384
- prop_df = prop_frame[['Player', 'over_prop', 'over_line', 'under_line', 'prop_type']]
385
  elif game_select_var == 'Pick6':
386
- prop_df = pick_frame[['Full_name', 'over_prop', 'over_line', 'under_line', 'prop_type']]
387
  prop_df.rename(columns={"Full_name": "Player"}, inplace = True)
388
  prop_df = prop_df.loc[prop_df['prop_type'] == prop]
389
- prop_df = prop_df[['Player', 'over_prop', 'over_line', 'under_line']]
390
  prop_df.rename(columns={"over_prop": "Prop"}, inplace = True)
391
  prop_df = prop_df.loc[prop_df['Prop'] != 0]
392
  st.table(prop_df)
393
- prop_df['Over'] = np.where(prop_df['over_line'] < 0, (-(prop_df['over_line'])/((-(prop_df['over_line']))+101)), 101/(prop_df['over_line']+101))
394
- prop_df['Under'] = np.where(prop_df['under_line'] < 0, (-(prop_df['under_line'])/((-(prop_df['under_line']))+101)), 101/(prop_df['under_line']+101))
395
  df = pd.merge(overall_stats, prop_df, how='left', left_on=['Player'], right_on = ['Player'])
396
 
397
  prop_dict = dict(zip(df.Player, df.Prop))
@@ -418,7 +418,7 @@ with tab6:
418
  flex_file['Ceiling'] = flex_file['Median'] + (flex_file['Median'] * 1.75)
419
  flex_file['STD'] = flex_file['Median'] / 4
420
  flex_file['Prop'] = flex_file['Player'].map(prop_dict)
421
- flex_file = flex_file[['Player', 'Prop', 'Floor', 'Median', 'Ceiling', 'STD']]
422
 
423
  hold_file = flex_file
424
  overall_file = flex_file
@@ -429,12 +429,12 @@ with tab6:
429
  for x in range(0,total_sims):
430
  prop_file[x] = prop_file['Prop']
431
 
432
- prop_file = prop_file.drop(['Player', 'Prop', 'Floor', 'Median', 'Ceiling', 'STD'], axis=1)
433
 
434
  for x in range(0,total_sims):
435
  overall_file[x] = np.random.normal(overall_file['Median'],overall_file['STD'])
436
 
437
- overall_file=overall_file.drop(['Player', 'Prop', 'Floor', 'Median', 'Ceiling', 'STD'], axis=1)
438
 
439
  players_only = hold_file[['Player']]
440
 
@@ -466,7 +466,7 @@ with tab6:
466
  players_only['Player'] = hold_file[['Player']]
467
  players_only['Team'] = players_only['Player'].map(team_dict)
468
 
469
- leg_outcomes = players_only[['Player', 'Team', 'Prop type', 'Prop', 'Mean_Outcome', 'Imp Over', 'Over%', 'Imp Under', 'Under%', 'Bet?', 'Edge']]
470
  sim_all_hold = pd.concat([sim_all_hold, leg_outcomes], ignore_index=True)
471
 
472
  final_outcomes = sim_all_hold
@@ -474,9 +474,9 @@ with tab6:
474
  elif prop_type_var != 'All Props':
475
 
476
  if game_select_var == 'Aggregate':
477
- prop_df = prop_frame[['Player', 'over_prop', 'over_line', 'under_line', 'prop_type']]
478
  elif game_select_var == 'Pick6':
479
- prop_df = pick_frame[['Full_name', 'over_prop', 'over_line', 'under_line', 'prop_type']]
480
  prop_df.rename(columns={"Full_name": "Player"}, inplace = True)
481
 
482
  if prop_type_var == "pass_yards":
@@ -485,8 +485,8 @@ with tab6:
485
  prop_df.rename(columns={"over_prop": "Prop"}, inplace = True)
486
  prop_df = prop_df.loc[prop_df['Prop'] != 0]
487
  st.table(prop_df)
488
- prop_df['Over'] = np.where(prop_df['over_line'] < 0, (-(prop_df['over_line'])/((-(prop_df['over_line']))+101)), 101/(prop_df['over_line']+101))
489
- prop_df['Under'] = np.where(prop_df['under_line'] < 0, (-(prop_df['under_line'])/((-(prop_df['under_line']))+101)), 101/(prop_df['under_line']+101))
490
  df = pd.merge(overall_stats, prop_df, how='left', left_on=['Player'], right_on = ['Player'])
491
  elif prop_type_var == "rush_yards":
492
  prop_df = prop_df.loc[prop_df['prop_type'] == 'NFL_GAME_PLAYER_RUSHING_YARDS']
@@ -494,8 +494,8 @@ with tab6:
494
  prop_df.rename(columns={"over_prop": "Prop"}, inplace = True)
495
  prop_df = prop_df.loc[prop_df['Prop'] != 0]
496
  st.table(prop_df)
497
- prop_df['Over'] = np.where(prop_df['over_line'] < 0, (-(prop_df['over_line'])/((-(prop_df['over_line']))+101)), 101/(prop_df['over_line']+101))
498
- prop_df['Under'] = np.where(prop_df['under_line'] < 0, (-(prop_df['under_line'])/((-(prop_df['under_line']))+101)), 101/(prop_df['under_line']+101))
499
  df = pd.merge(overall_stats, prop_df, how='left', left_on=['Player'], right_on = ['Player'])
500
  elif prop_type_var == "rec_yards":
501
  prop_df = prop_df.loc[prop_df['prop_type'] == 'NFL_GAME_PLAYER_RECEIVING_YARDS']
@@ -503,8 +503,8 @@ with tab6:
503
  prop_df.rename(columns={"over_prop": "Prop"}, inplace = True)
504
  prop_df = prop_df.loc[prop_df['Prop'] != 0]
505
  st.table(prop_df)
506
- prop_df['Over'] = np.where(prop_df['over_line'] < 0, (-(prop_df['over_line'])/((-(prop_df['over_line']))+101)), 101/(prop_df['over_line']+101))
507
- prop_df['Under'] = np.where(prop_df['under_line'] < 0, (-(prop_df['under_line'])/((-(prop_df['under_line']))+101)), 101/(prop_df['under_line']+101))
508
  df = pd.merge(overall_stats, prop_df, how='left', left_on=['Player'], right_on = ['Player'])
509
  elif prop_type_var == "receptions":
510
  prop_df = prop_df.loc[prop_df['prop_type'] == 'NFL_GAME_PLAYER_RECEIVING_RECEPTIONS']
@@ -512,8 +512,8 @@ with tab6:
512
  prop_df.rename(columns={"over_prop": "Prop"}, inplace = True)
513
  prop_df = prop_df.loc[prop_df['Prop'] != 0]
514
  st.table(prop_df)
515
- prop_df['Over'] = np.where(prop_df['over_line'] < 0, (-(prop_df['over_line'])/((-(prop_df['over_line']))+101)), 101/(prop_df['over_line']+101))
516
- prop_df['Under'] = np.where(prop_df['under_line'] < 0, (-(prop_df['under_line'])/((-(prop_df['under_line']))+101)), 101/(prop_df['under_line']+101))
517
  df = pd.merge(overall_stats, prop_df, how='left', left_on=['Player'], right_on = ['Player'])
518
  elif prop_type_var == "rush_attempts":
519
  prop_df = prop_df.loc[prop_df['prop_type'] == 'NFL_GAME_PLAYER_RUSHING_ATTEMPTS']
@@ -521,8 +521,8 @@ with tab6:
521
  prop_df.rename(columns={"over_prop": "Prop"}, inplace = True)
522
  prop_df = prop_df.loc[prop_df['Prop'] != 0]
523
  st.table(prop_df)
524
- prop_df['Over'] = np.where(prop_df['over_line'] < 0, (-(prop_df['over_line'])/((-(prop_df['over_line']))+101)), 101/(prop_df['over_line']+101))
525
- prop_df['Under'] = np.where(prop_df['under_line'] < 0, (-(prop_df['under_line'])/((-(prop_df['under_line']))+101)), 101/(prop_df['under_line']+101))
526
  df = pd.merge(overall_stats, prop_df, how='left', left_on=['Player'], right_on = ['Player'])
527
  elif prop_type_var == "pass_attempts":
528
  prop_df = prop_df.loc[prop_df['prop_type'] == 'NFL_GAME_PLAYER_PASSING_ATTEMPTS']
@@ -530,8 +530,8 @@ with tab6:
530
  prop_df.rename(columns={"over_prop": "Prop"}, inplace = True)
531
  prop_df = prop_df.loc[prop_df['Prop'] != 0]
532
  st.table(prop_df)
533
- prop_df['Over'] = np.where(prop_df['over_line'] < 0, (-(prop_df['over_line'])/((-(prop_df['over_line']))+101)), 101/(prop_df['over_line']+101))
534
- prop_df['Under'] = np.where(prop_df['under_line'] < 0, (-(prop_df['under_line'])/((-(prop_df['under_line']))+101)), 101/(prop_df['under_line']+101))
535
  df = pd.merge(overall_stats, prop_df, how='left', left_on=['Player'], right_on = ['Player'])
536
  elif prop_type_var == "pass_completions":
537
  prop_df = prop_df.loc[prop_df['prop_type'] == 'NFL_GAME_PLAYER_PASSING_COMPLETIONS']
@@ -539,8 +539,8 @@ with tab6:
539
  prop_df.rename(columns={"over_prop": "Prop"}, inplace = True)
540
  prop_df = prop_df.loc[prop_df['Prop'] != 0]
541
  st.table(prop_df)
542
- prop_df['Over'] = np.where(prop_df['over_line'] < 0, (-(prop_df['over_line'])/((-(prop_df['over_line']))+101)), 101/(prop_df['over_line']+101))
543
- prop_df['Under'] = np.where(prop_df['under_line'] < 0, (-(prop_df['under_line'])/((-(prop_df['under_line']))+101)), 101/(prop_df['under_line']+101))
544
  df = pd.merge(overall_stats, prop_df, how='left', left_on=['Player'], right_on = ['Player'])
545
 
546
  prop_dict = dict(zip(df.Player, df.Prop))
@@ -567,7 +567,7 @@ with tab6:
567
  flex_file['Ceiling'] = flex_file['Median'] + (flex_file['Median'] * 1.75)
568
  flex_file['STD'] = flex_file['Median'] / 4
569
  flex_file['Prop'] = flex_file['Player'].map(prop_dict)
570
- flex_file = flex_file[['Player', 'Prop', 'Floor', 'Median', 'Ceiling', 'STD']]
571
 
572
  hold_file = flex_file
573
  overall_file = flex_file
@@ -578,12 +578,12 @@ with tab6:
578
  for x in range(0,total_sims):
579
  prop_file[x] = prop_file['Prop']
580
 
581
- prop_file = prop_file.drop(['Player', 'Prop', 'Floor', 'Median', 'Ceiling', 'STD'], axis=1)
582
 
583
  for x in range(0,total_sims):
584
  overall_file[x] = np.random.normal(overall_file['Median'],overall_file['STD'])
585
 
586
- overall_file=overall_file.drop(['Player', 'Prop', 'Floor', 'Median', 'Ceiling', 'STD'], axis=1)
587
 
588
  players_only = hold_file[['Player']]
589
 
@@ -614,7 +614,7 @@ with tab6:
614
  players_only['Player'] = hold_file[['Player']]
615
  players_only['Team'] = players_only['Player'].map(team_dict)
616
 
617
- final_outcomes = players_only[['Player', 'Team', 'Prop', 'Mean_Outcome', 'Imp Over', 'Over%', 'Imp Under', 'Under%', 'Bet?', 'Edge']]
618
 
619
  final_outcomes = final_outcomes.sort_values(by='Edge', ascending=False)
620
 
 
360
  with col1:
361
  game_select_var = st.selectbox('Select prop source', options = ['Aggregate', 'Pick6'])
362
  if game_select_var == 'Aggregate':
363
+ prop_df = prop_frame[['Player', 'book', 'over_prop', 'over_line', 'under_line', 'prop_type']]
364
  elif game_select_var == 'Pick6':
365
+ prop_df = pick_frame[['Full_name', 'book', 'over_prop', 'over_line', 'under_line', 'prop_type']]
366
  prop_df.rename(columns={"Full_name": "Player"}, inplace = True)
367
  st.download_button(
368
  label="Download Prop Source",
 
381
  for prop in all_sim_vars:
382
 
383
  if game_select_var == 'Aggregate':
384
+ prop_df = prop_frame[['Player', 'book', 'over_prop', 'over_line', 'under_line', 'prop_type']]
385
  elif game_select_var == 'Pick6':
386
+ prop_df = pick_frame[['Full_name', 'book', 'over_prop', 'over_line', 'under_line', 'prop_type']]
387
  prop_df.rename(columns={"Full_name": "Player"}, inplace = True)
388
  prop_df = prop_df.loc[prop_df['prop_type'] == prop]
389
+ prop_df = prop_df[['Player', 'book', 'over_prop', 'over_line', 'under_line']]
390
  prop_df.rename(columns={"over_prop": "Prop"}, inplace = True)
391
  prop_df = prop_df.loc[prop_df['Prop'] != 0]
392
  st.table(prop_df)
393
+ prop_df['Over'] = 1 / prop_df['over_line']
394
+ prop_df['Under'] = 1 / prop_df['under_line']
395
  df = pd.merge(overall_stats, prop_df, how='left', left_on=['Player'], right_on = ['Player'])
396
 
397
  prop_dict = dict(zip(df.Player, df.Prop))
 
418
  flex_file['Ceiling'] = flex_file['Median'] + (flex_file['Median'] * 1.75)
419
  flex_file['STD'] = flex_file['Median'] / 4
420
  flex_file['Prop'] = flex_file['Player'].map(prop_dict)
421
+ flex_file = flex_file[['Player', 'book', 'Prop', 'Floor', 'Median', 'Ceiling', 'STD']]
422
 
423
  hold_file = flex_file
424
  overall_file = flex_file
 
429
  for x in range(0,total_sims):
430
  prop_file[x] = prop_file['Prop']
431
 
432
+ prop_file = prop_file.drop(['Player', 'book', 'Prop', 'Floor', 'Median', 'Ceiling', 'STD'], axis=1)
433
 
434
  for x in range(0,total_sims):
435
  overall_file[x] = np.random.normal(overall_file['Median'],overall_file['STD'])
436
 
437
+ overall_file=overall_file.drop(['Player', 'book', 'Prop', 'Floor', 'Median', 'Ceiling', 'STD'], axis=1)
438
 
439
  players_only = hold_file[['Player']]
440
 
 
466
  players_only['Player'] = hold_file[['Player']]
467
  players_only['Team'] = players_only['Player'].map(team_dict)
468
 
469
+ leg_outcomes = players_only[['Player', 'Team', 'book', 'Prop type', 'Prop', 'Mean_Outcome', 'Imp Over', 'Over%', 'Imp Under', 'Under%', 'Bet?', 'Edge']]
470
  sim_all_hold = pd.concat([sim_all_hold, leg_outcomes], ignore_index=True)
471
 
472
  final_outcomes = sim_all_hold
 
474
  elif prop_type_var != 'All Props':
475
 
476
  if game_select_var == 'Aggregate':
477
+ prop_df = prop_frame[['Player', 'book', 'over_prop', 'over_line', 'under_line', 'prop_type']]
478
  elif game_select_var == 'Pick6':
479
+ prop_df = pick_frame[['Full_name', 'book', 'over_prop', 'over_line', 'under_line', 'prop_type']]
480
  prop_df.rename(columns={"Full_name": "Player"}, inplace = True)
481
 
482
  if prop_type_var == "pass_yards":
 
485
  prop_df.rename(columns={"over_prop": "Prop"}, inplace = True)
486
  prop_df = prop_df.loc[prop_df['Prop'] != 0]
487
  st.table(prop_df)
488
+ prop_df['Over'] = 1 / prop_df['over_line']
489
+ prop_df['Under'] = 1 / prop_df['under_line']
490
  df = pd.merge(overall_stats, prop_df, how='left', left_on=['Player'], right_on = ['Player'])
491
  elif prop_type_var == "rush_yards":
492
  prop_df = prop_df.loc[prop_df['prop_type'] == 'NFL_GAME_PLAYER_RUSHING_YARDS']
 
494
  prop_df.rename(columns={"over_prop": "Prop"}, inplace = True)
495
  prop_df = prop_df.loc[prop_df['Prop'] != 0]
496
  st.table(prop_df)
497
+ prop_df['Over'] = 1 / prop_df['over_line']
498
+ prop_df['Under'] = 1 / prop_df['under_line']
499
  df = pd.merge(overall_stats, prop_df, how='left', left_on=['Player'], right_on = ['Player'])
500
  elif prop_type_var == "rec_yards":
501
  prop_df = prop_df.loc[prop_df['prop_type'] == 'NFL_GAME_PLAYER_RECEIVING_YARDS']
 
503
  prop_df.rename(columns={"over_prop": "Prop"}, inplace = True)
504
  prop_df = prop_df.loc[prop_df['Prop'] != 0]
505
  st.table(prop_df)
506
+ prop_df['Over'] = 1 / prop_df['over_line']
507
+ prop_df['Under'] = 1 / prop_df['under_line']
508
  df = pd.merge(overall_stats, prop_df, how='left', left_on=['Player'], right_on = ['Player'])
509
  elif prop_type_var == "receptions":
510
  prop_df = prop_df.loc[prop_df['prop_type'] == 'NFL_GAME_PLAYER_RECEIVING_RECEPTIONS']
 
512
  prop_df.rename(columns={"over_prop": "Prop"}, inplace = True)
513
  prop_df = prop_df.loc[prop_df['Prop'] != 0]
514
  st.table(prop_df)
515
+ prop_df['Over'] = 1 / prop_df['over_line']
516
+ prop_df['Under'] = 1 / prop_df['under_line']
517
  df = pd.merge(overall_stats, prop_df, how='left', left_on=['Player'], right_on = ['Player'])
518
  elif prop_type_var == "rush_attempts":
519
  prop_df = prop_df.loc[prop_df['prop_type'] == 'NFL_GAME_PLAYER_RUSHING_ATTEMPTS']
 
521
  prop_df.rename(columns={"over_prop": "Prop"}, inplace = True)
522
  prop_df = prop_df.loc[prop_df['Prop'] != 0]
523
  st.table(prop_df)
524
+ prop_df['Over'] = 1 / prop_df['over_line']
525
+ prop_df['Under'] = 1 / prop_df['under_line']
526
  df = pd.merge(overall_stats, prop_df, how='left', left_on=['Player'], right_on = ['Player'])
527
  elif prop_type_var == "pass_attempts":
528
  prop_df = prop_df.loc[prop_df['prop_type'] == 'NFL_GAME_PLAYER_PASSING_ATTEMPTS']
 
530
  prop_df.rename(columns={"over_prop": "Prop"}, inplace = True)
531
  prop_df = prop_df.loc[prop_df['Prop'] != 0]
532
  st.table(prop_df)
533
+ prop_df['Over'] = 1 / prop_df['over_line']
534
+ prop_df['Under'] = 1 / prop_df['under_line']
535
  df = pd.merge(overall_stats, prop_df, how='left', left_on=['Player'], right_on = ['Player'])
536
  elif prop_type_var == "pass_completions":
537
  prop_df = prop_df.loc[prop_df['prop_type'] == 'NFL_GAME_PLAYER_PASSING_COMPLETIONS']
 
539
  prop_df.rename(columns={"over_prop": "Prop"}, inplace = True)
540
  prop_df = prop_df.loc[prop_df['Prop'] != 0]
541
  st.table(prop_df)
542
+ prop_df['Over'] = 1 / prop_df['over_line']
543
+ prop_df['Under'] = 1 / prop_df['under_line']
544
  df = pd.merge(overall_stats, prop_df, how='left', left_on=['Player'], right_on = ['Player'])
545
 
546
  prop_dict = dict(zip(df.Player, df.Prop))
 
567
  flex_file['Ceiling'] = flex_file['Median'] + (flex_file['Median'] * 1.75)
568
  flex_file['STD'] = flex_file['Median'] / 4
569
  flex_file['Prop'] = flex_file['Player'].map(prop_dict)
570
+ flex_file = flex_file[['Player', 'book', 'Prop', 'Floor', 'Median', 'Ceiling', 'STD']]
571
 
572
  hold_file = flex_file
573
  overall_file = flex_file
 
578
  for x in range(0,total_sims):
579
  prop_file[x] = prop_file['Prop']
580
 
581
+ prop_file = prop_file.drop(['Player', 'book', 'Prop', 'Floor', 'Median', 'Ceiling', 'STD'], axis=1)
582
 
583
  for x in range(0,total_sims):
584
  overall_file[x] = np.random.normal(overall_file['Median'],overall_file['STD'])
585
 
586
+ overall_file=overall_file.drop(['Player', 'book', 'Prop', 'Floor', 'Median', 'Ceiling', 'STD'], axis=1)
587
 
588
  players_only = hold_file[['Player']]
589
 
 
614
  players_only['Player'] = hold_file[['Player']]
615
  players_only['Team'] = players_only['Player'].map(team_dict)
616
 
617
+ final_outcomes = players_only[['Player', 'Team', 'book', 'Prop', 'Mean_Outcome', 'Imp Over', 'Over%', 'Imp Under', 'Under%', 'Bet?', 'Edge']]
618
 
619
  final_outcomes = final_outcomes.sort_values(by='Edge', ascending=False)
620