Multichem commited on
Commit
6b4629c
·
1 Parent(s): eb062c2

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +113 -102
app.py CHANGED
@@ -888,8 +888,120 @@ with tab2:
888
  Strength_var = .01
889
  scaling_var = 15
890
  sim_done = 0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
891
 
892
  with col2:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
893
  if st.button("Simulate Contest"):
894
  with st.container():
895
  sim_done = 0
@@ -907,26 +1019,6 @@ with tab2:
907
  pass
908
  with st.container():
909
  st.write('Contest Simulation Starting')
910
- seed_depth1 = 10
911
- Total_Runs = 1000000
912
- if Contest_Size <= 1000:
913
- strength_grow = .01
914
- elif Contest_Size > 1000 and Contest_Size <= 2500:
915
- strength_grow = .025
916
- elif Contest_Size > 2500 and Contest_Size <= 5000:
917
- strength_grow = .05
918
- elif Contest_Size > 5000 and Contest_Size <= 20000:
919
- strength_grow = .075
920
- elif Contest_Size > 20000:
921
- strength_grow = .1
922
-
923
- field_growth = 100 * strength_grow
924
-
925
- Sort_function = 'Median'
926
- if Sort_function == 'Median':
927
- Sim_function = 'Projection'
928
- elif Sort_function == 'Own':
929
- Sim_function = 'Own'
930
 
931
  if slate_var1 == 'User':
932
  OwnFrame = proj_dataframe
@@ -1337,85 +1429,4 @@ with tab2:
1337
  dst_freq['Team'] = dst_freq['Team'].replace(item_list, team_list)
1338
 
1339
  dst_freq = dst_freq[['Player', 'Team', 'Position', 'Salary', 'Proj Own', 'Exposure', 'Edge']]
1340
- with st.container():
1341
- if sim_done == 1:
1342
- player_split_var2 = st.radio("Are you wanting to isolate any lineups with specific players?", ('Full Players', 'Specific Players'))
1343
- if player_split_var2 == 'Specific Players':
1344
- find_var2 = st.multiselect('Which players must be included in the lineups?', options = player_freq['Player'].unique())
1345
- elif player_split_var2 == 'Full Players':
1346
- find_var2 = static_exposure.Player.values.tolist()
1347
- if player_split_var2 == 'Specific Players':
1348
- Sim_Winner_Frame = Sim_Winner_Frame[np.equal.outer(Sim_Winner_Frame.to_numpy(copy=False), find_var2).any(axis=1).all(axis=1)]
1349
- elif player_split_var2 == 'Full Players':
1350
- Sim_Winner_Frame = Sim_Winner_Frame
1351
-
1352
- with st.container():
1353
- display_winner_dataframe = Sim_Winner_Frame.copy()
1354
- st.dataframe(display_winner_dataframe.style.background_gradient(axis=0).background_gradient(cmap='RdYlGn').background_gradient(cmap='RdYlGn_r', subset=['Own']).format(precision=2), use_container_width = True)
1355
-
1356
- st.download_button(
1357
- label="Export Tables",
1358
- data=convert_df_to_csv(Sim_Winner_Export),
1359
- file_name='NFL_consim_export.csv',
1360
- mime='text/csv',
1361
- )
1362
-
1363
- with st.container():
1364
- freq_container = st.empty()
1365
- tab1, tab2, tab3, tab4, tab5, tab6, tab7 = st.tabs(['Overall Exposures', 'QB Exposures', 'RB Exposures', 'WR Exposures', 'TE Exposures', 'FLEX Exposures', 'DST Exposures'])
1366
- with tab1:
1367
- st.dataframe(player_freq.style.background_gradient(axis=0).background_gradient(cmap='RdYlGn').format(freq_format, precision=2), use_container_width = True)
1368
- st.download_button(
1369
- label="Export Exposures",
1370
- data=convert_df_to_csv(player_freq),
1371
- file_name='player_freq_export.csv',
1372
- mime='text/csv',
1373
- )
1374
- with tab2:
1375
- st.dataframe(qb_freq.style.background_gradient(axis=0).background_gradient(cmap='RdYlGn').format(freq_format, precision=2), use_container_width = True)
1376
- st.download_button(
1377
- label="Export Exposures",
1378
- data=convert_df_to_csv(qb_freq),
1379
- file_name='qb_freq_export.csv',
1380
- mime='text/csv',
1381
- )
1382
- with tab3:
1383
- st.dataframe(rb_freq.style.background_gradient(axis=0).background_gradient(cmap='RdYlGn').format(freq_format, precision=2), use_container_width = True)
1384
- st.download_button(
1385
- label="Export Exposures",
1386
- data=convert_df_to_csv(rb_freq),
1387
- file_name='rb_freq_export.csv',
1388
- mime='text/csv',
1389
- )
1390
- with tab4:
1391
- st.dataframe(wr_freq.style.background_gradient(axis=0).background_gradient(cmap='RdYlGn').format(freq_format, precision=2), use_container_width = True)
1392
- st.download_button(
1393
- label="Export Exposures",
1394
- data=convert_df_to_csv(wr_freq),
1395
- file_name='wr_freq_export.csv',
1396
- mime='text/csv',
1397
- )
1398
- with tab5:
1399
- st.dataframe(te_freq.style.background_gradient(axis=0).background_gradient(cmap='RdYlGn').format(freq_format, precision=2), use_container_width = True)
1400
- st.download_button(
1401
- label="Export Exposures",
1402
- data=convert_df_to_csv(te_freq),
1403
- file_name='te_freq_export.csv',
1404
- mime='text/csv',
1405
- )
1406
- with tab6:
1407
- st.dataframe(flex_freq.style.background_gradient(axis=0).background_gradient(cmap='RdYlGn').format(freq_format, precision=2), use_container_width = True)
1408
- st.download_button(
1409
- label="Export Exposures",
1410
- data=convert_df_to_csv(flex_freq),
1411
- file_name='flex_freq_export.csv',
1412
- mime='text/csv',
1413
- )
1414
- with tab7:
1415
- st.dataframe(dst_freq.style.background_gradient(axis=0).background_gradient(cmap='RdYlGn').format(freq_format, precision=2), use_container_width = True)
1416
- st.download_button(
1417
- label="Export Exposures",
1418
- data=convert_df_to_csv(dst_freq),
1419
- file_name='dst_freq_export.csv',
1420
- mime='text/csv',
1421
- )
 
888
  Strength_var = .01
889
  scaling_var = 15
890
  sim_done = 0
891
+ seed_depth1 = 10
892
+ Total_Runs = 1000000
893
+ if Contest_Size <= 1000:
894
+ strength_grow = .01
895
+ elif Contest_Size > 1000 and Contest_Size <= 2500:
896
+ strength_grow = .025
897
+ elif Contest_Size > 2500 and Contest_Size <= 5000:
898
+ strength_grow = .05
899
+ elif Contest_Size > 5000 and Contest_Size <= 20000:
900
+ strength_grow = .075
901
+ elif Contest_Size > 20000:
902
+ strength_grow = .1
903
+
904
+ field_growth = 100 * strength_grow
905
+
906
+ Sort_function = 'Median'
907
+ if Sort_function == 'Median':
908
+ Sim_function = 'Projection'
909
+ elif Sort_function == 'Own':
910
+ Sim_function = 'Own'
911
+ Sim_Winner_Frame = pd.DataFrame()
912
+ player_freq = pd.DataFrame()
913
+ Sim_Winner_Export = pd.DataFrame()
914
+ qb_freq = pd.DataFrame()
915
+ rb_freq = pd.DataFrame()
916
+ wr_freq = pd.DataFrame()
917
+ te_freq = pd.DataFrame()
918
+ flex_freq = pd.DataFrame()
919
+ dst_freq = pd.DataFrame()
920
 
921
  with col2:
922
+ with st.container():
923
+ if sim_done == 1:
924
+ player_split_var2 = st.radio("Are you wanting to isolate any lineups with specific players?", ('Full Players', 'Specific Players'))
925
+ if player_split_var2 == 'Specific Players':
926
+ find_var2 = st.multiselect('Which players must be included in the lineups?', options = player_freq['Player'].unique())
927
+ elif player_split_var2 == 'Full Players':
928
+ find_var2 = static_exposure.Player.values.tolist()
929
+ if player_split_var2 == 'Specific Players':
930
+ Sim_Winner_Frame = Sim_Winner_Frame[np.equal.outer(Sim_Winner_Frame.to_numpy(copy=False), find_var2).any(axis=1).all(axis=1)]
931
+ elif player_split_var2 == 'Full Players':
932
+ Sim_Winner_Frame = Sim_Winner_Frame
933
+
934
+ with st.container():
935
+ display_winner_dataframe = Sim_Winner_Frame.copy()
936
+ st.dataframe(display_winner_dataframe.style.background_gradient(axis=0).background_gradient(cmap='RdYlGn').background_gradient(cmap='RdYlGn_r', subset=['Own']).format(precision=2), use_container_width = True)
937
+
938
+ st.download_button(
939
+ label="Export Tables",
940
+ data=convert_df_to_csv(Sim_Winner_Export),
941
+ file_name='NFL_consim_export.csv',
942
+ mime='text/csv',
943
+ )
944
+
945
+ with st.container():
946
+ freq_container = st.empty()
947
+ tab1, tab2, tab3, tab4, tab5, tab6, tab7 = st.tabs(['Overall Exposures', 'QB Exposures', 'RB Exposures', 'WR Exposures', 'TE Exposures', 'FLEX Exposures', 'DST Exposures'])
948
+ with tab1:
949
+ st.dataframe(player_freq.style.background_gradient(axis=0).background_gradient(cmap='RdYlGn').format(freq_format, precision=2), use_container_width = True)
950
+ st.download_button(
951
+ label="Export Exposures",
952
+ data=convert_df_to_csv(player_freq),
953
+ file_name='player_freq_export.csv',
954
+ mime='text/csv',
955
+ )
956
+ with tab2:
957
+ st.dataframe(qb_freq.style.background_gradient(axis=0).background_gradient(cmap='RdYlGn').format(freq_format, precision=2), use_container_width = True)
958
+ st.download_button(
959
+ label="Export Exposures",
960
+ data=convert_df_to_csv(qb_freq),
961
+ file_name='qb_freq_export.csv',
962
+ mime='text/csv',
963
+ )
964
+ with tab3:
965
+ st.dataframe(rb_freq.style.background_gradient(axis=0).background_gradient(cmap='RdYlGn').format(freq_format, precision=2), use_container_width = True)
966
+ st.download_button(
967
+ label="Export Exposures",
968
+ data=convert_df_to_csv(rb_freq),
969
+ file_name='rb_freq_export.csv',
970
+ mime='text/csv',
971
+ )
972
+ with tab4:
973
+ st.dataframe(wr_freq.style.background_gradient(axis=0).background_gradient(cmap='RdYlGn').format(freq_format, precision=2), use_container_width = True)
974
+ st.download_button(
975
+ label="Export Exposures",
976
+ data=convert_df_to_csv(wr_freq),
977
+ file_name='wr_freq_export.csv',
978
+ mime='text/csv',
979
+ )
980
+ with tab5:
981
+ st.dataframe(te_freq.style.background_gradient(axis=0).background_gradient(cmap='RdYlGn').format(freq_format, precision=2), use_container_width = True)
982
+ st.download_button(
983
+ label="Export Exposures",
984
+ data=convert_df_to_csv(te_freq),
985
+ file_name='te_freq_export.csv',
986
+ mime='text/csv',
987
+ )
988
+ with tab6:
989
+ st.dataframe(flex_freq.style.background_gradient(axis=0).background_gradient(cmap='RdYlGn').format(freq_format, precision=2), use_container_width = True)
990
+ st.download_button(
991
+ label="Export Exposures",
992
+ data=convert_df_to_csv(flex_freq),
993
+ file_name='flex_freq_export.csv',
994
+ mime='text/csv',
995
+ )
996
+ with tab7:
997
+ st.dataframe(dst_freq.style.background_gradient(axis=0).background_gradient(cmap='RdYlGn').format(freq_format, precision=2), use_container_width = True)
998
+ st.download_button(
999
+ label="Export Exposures",
1000
+ data=convert_df_to_csv(dst_freq),
1001
+ file_name='dst_freq_export.csv',
1002
+ mime='text/csv',
1003
+ )
1004
+
1005
  if st.button("Simulate Contest"):
1006
  with st.container():
1007
  sim_done = 0
 
1019
  pass
1020
  with st.container():
1021
  st.write('Contest Simulation Starting')
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1022
 
1023
  if slate_var1 == 'User':
1024
  OwnFrame = proj_dataframe
 
1429
  dst_freq['Team'] = dst_freq['Team'].replace(item_list, team_list)
1430
 
1431
  dst_freq = dst_freq[['Player', 'Team', 'Position', 'Salary', 'Proj Own', 'Exposure', 'Edge']]
1432
+