Multichem commited on
Commit
85e527a
·
verified ·
1 Parent(s): 0881c38

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +45 -5
app.py CHANGED
@@ -51,7 +51,7 @@ def init_conn():
51
  gcservice_account, client, db, DK_seed, FD_seed, MLB_Data = init_conn()
52
 
53
  percentages_format = {'Exposure': '{:.2%}'}
54
- freq_format = {'Exposure': '{:.2%}', 'Proj Own': '{:.2%}'}
55
  dk_columns = ['SP1', 'SP2', 'C', '1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3', 'salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count']
56
  fd_columns = ['P', 'C_1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3', 'UTIL', 'salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count']
57
 
@@ -401,10 +401,10 @@ with tab2:
401
  st.session_state.Sim_Winner_Display = Sim_Winner_Frame.copy()
402
 
403
  if sim_site_var1 == 'Draftkings':
404
- st.session_state.player_freq = pd.DataFrame(np.column_stack(np.unique(st.session_state.Sim_Winner_Display.iloc[:,0:9].values, return_counts=True)),
405
  columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
406
- elif sim_site_var1 == 'Draftkings':
407
- st.session_state.player_freq = pd.DataFrame(np.column_stack(np.unique(st.session_state.Sim_Winner_Display.iloc[:,0:8].values, return_counts=True)),
408
  columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
409
  st.session_state.player_freq['Freq'] = st.session_state.player_freq['Freq'].astype(int)
410
  st.session_state.player_freq['Position'] = st.session_state.player_freq['Player'].map(maps_dict['Pos_map'])
@@ -417,7 +417,7 @@ with tab2:
417
  if sim_site_var1 == 'Draftkings':
418
  st.session_state.sp_freq = pd.DataFrame(np.column_stack(np.unique(st.session_state.Sim_Winner_Display.iloc[:,0:2].values, return_counts=True)),
419
  columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
420
- elif sim_site_var1 == 'Draftkings':
421
  st.session_state.sp_freq = pd.DataFrame(np.column_stack(np.unique(st.session_state.Sim_Winner_Display.iloc[:,0:1].values, return_counts=True)),
422
  columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
423
  st.session_state.sp_freq['Freq'] = st.session_state.sp_freq['Freq'].astype(int)
@@ -428,6 +428,24 @@ with tab2:
428
  st.session_state.sp_freq['Edge'] = st.session_state.sp_freq['Exposure'] - st.session_state.sp_freq['Proj Own']
429
  st.session_state.sp_freq['Team'] = st.session_state.sp_freq['Player'].map(maps_dict['Team_map'])
430
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
431
  with st.container():
432
  st.dataframe(st.session_state.Sim_Winner_Frame)
433
 
@@ -441,6 +459,7 @@ with tab2:
441
  data=st.session_state.player_freq.to_csv().encode('utf-8'),
442
  file_name='player_freq_export.csv',
443
  mime='text/csv',
 
444
  )
445
  with tab2:
446
  if 'sp_freq' in st.session_state:
@@ -450,4 +469,25 @@ with tab2:
450
  data=st.session_state.sp_freq.to_csv().encode('utf-8'),
451
  file_name='player_freq_export.csv',
452
  mime='text/csv',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
453
  )
 
51
  gcservice_account, client, db, DK_seed, FD_seed, MLB_Data = init_conn()
52
 
53
  percentages_format = {'Exposure': '{:.2%}'}
54
+ freq_format = {'Exposure': '{:.2%}', 'Proj Own': '{:.2%}', 'Edge': '{:.2%}'}
55
  dk_columns = ['SP1', 'SP2', 'C', '1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3', 'salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count']
56
  fd_columns = ['P', 'C_1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3', 'UTIL', 'salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count']
57
 
 
401
  st.session_state.Sim_Winner_Display = Sim_Winner_Frame.copy()
402
 
403
  if sim_site_var1 == 'Draftkings':
404
+ st.session_state.player_freq = pd.DataFrame(np.column_stack(np.unique(st.session_state.Sim_Winner_Display.iloc[:,0:10].values, return_counts=True)),
405
  columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
406
+ elif sim_site_var1 == 'Fanduel':
407
+ st.session_state.player_freq = pd.DataFrame(np.column_stack(np.unique(st.session_state.Sim_Winner_Display.iloc[:,0:9].values, return_counts=True)),
408
  columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
409
  st.session_state.player_freq['Freq'] = st.session_state.player_freq['Freq'].astype(int)
410
  st.session_state.player_freq['Position'] = st.session_state.player_freq['Player'].map(maps_dict['Pos_map'])
 
417
  if sim_site_var1 == 'Draftkings':
418
  st.session_state.sp_freq = pd.DataFrame(np.column_stack(np.unique(st.session_state.Sim_Winner_Display.iloc[:,0:2].values, return_counts=True)),
419
  columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
420
+ elif sim_site_var1 == 'Fanduel':
421
  st.session_state.sp_freq = pd.DataFrame(np.column_stack(np.unique(st.session_state.Sim_Winner_Display.iloc[:,0:1].values, return_counts=True)),
422
  columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
423
  st.session_state.sp_freq['Freq'] = st.session_state.sp_freq['Freq'].astype(int)
 
428
  st.session_state.sp_freq['Edge'] = st.session_state.sp_freq['Exposure'] - st.session_state.sp_freq['Proj Own']
429
  st.session_state.sp_freq['Team'] = st.session_state.sp_freq['Player'].map(maps_dict['Team_map'])
430
 
431
+ if sim_site_var1 == 'Draftkings':
432
+ st.session_state.team_freq = pd.DataFrame(np.column_stack(np.unique(st.session_state.Sim_Winner_Display.iloc[:,12:13].values, return_counts=True)),
433
+ columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
434
+ elif sim_site_var1 == 'Fanduel':
435
+ st.session_state.team_freq = pd.DataFrame(np.column_stack(np.unique(st.session_state.Sim_Winner_Display.iloc[:,11:12].values, return_counts=True)),
436
+ columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
437
+ st.session_state.team_freq['Freq'] = st.session_state.team_freq['Freq'].astype(int)
438
+ st.session_state.team_freq['Exposure'] = st.session_state.team_freq['Freq']/(1000)
439
+
440
+ if sim_site_var1 == 'Draftkings':
441
+ st.session_state.stack_freq = pd.DataFrame(np.column_stack(np.unique(st.session_state.Sim_Winner_Display.iloc[:,13:14].values, return_counts=True)),
442
+ columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
443
+ elif sim_site_var1 == 'Fanduel':
444
+ st.session_state.stack_freq = pd.DataFrame(np.column_stack(np.unique(st.session_state.Sim_Winner_Display.iloc[:,12:13].values, return_counts=True)),
445
+ columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
446
+ st.session_state.stack_freq['Freq'] = st.session_state.stack_freq['Freq'].astype(int)
447
+ st.session_state.stack_freq['Exposure'] = st.session_state.stack_freq['Freq']/(1000)
448
+
449
  with st.container():
450
  st.dataframe(st.session_state.Sim_Winner_Frame)
451
 
 
459
  data=st.session_state.player_freq.to_csv().encode('utf-8'),
460
  file_name='player_freq_export.csv',
461
  mime='text/csv',
462
+ key='player_freq'
463
  )
464
  with tab2:
465
  if 'sp_freq' in st.session_state:
 
469
  data=st.session_state.sp_freq.to_csv().encode('utf-8'),
470
  file_name='player_freq_export.csv',
471
  mime='text/csv',
472
+ key='sp_freq'
473
+ )
474
+ with tab3:
475
+ if 'team_freq' in st.session_state:
476
+ st.dataframe(st.session_state.team_freq.style.background_gradient(axis=0).background_gradient(cmap='RdYlGn').format(percentages_format, precision=2), use_container_width = True)
477
+ st.download_button(
478
+ label="Export Exposures",
479
+ data=st.session_state.team_freq.to_csv().encode('utf-8'),
480
+ file_name='player_freq_export.csv',
481
+ mime='text/csv',
482
+ key='team_freq'
483
+ )
484
+ with tab4:
485
+ if 'stack_freq' in st.session_state:
486
+ st.dataframe(st.session_state.stack_freq.style.background_gradient(axis=0).background_gradient(cmap='RdYlGn').format(percentages_format, precision=2), use_container_width = True)
487
+ st.download_button(
488
+ label="Export Exposures",
489
+ data=st.session_state.stack_freq.to_csv().encode('utf-8'),
490
+ file_name='player_freq_export.csv',
491
+ mime='text/csv',
492
+ key='stack_freq'
493
  )