Multichem commited on
Commit
ef4ddb9
·
1 Parent(s): ccbfd35

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +19 -15
app.py CHANGED
@@ -215,6 +215,8 @@ def get_overall_merged_df():
215
  for i in range(0,4):
216
  ref_dict['pos_dfs'][i], ref_dict['pos_dicts'][i] =\
217
  create_overall_dfs(pos_players, ref_dict['pos_dfs'][i], ref_dict['pos_dicts'][i], ref_dict['pos'][i])
 
 
218
 
219
  return ref_dict
220
 
@@ -228,7 +230,9 @@ def calculate_range_var(count, min_val, FieldStrength, field_growth):
228
  def create_random_portfolio(Total_Sample_Size, raw_baselines, field_growth):
229
 
230
  full_pos_player_dict = get_overall_merged_df()
231
- max_var = len(raw_baselines[raw_baselines['Position'] == 'QB'])
 
 
232
 
233
  field_growth_rounded = round(field_growth)
234
  ranges_dict = {}
@@ -701,11 +705,11 @@ with tab2:
701
  insert_port = 0
702
  contest_var1 = st.selectbox("What contest size are you simulating?", ('Small', 'Medium', 'Large'))
703
  if contest_var1 == 'Small':
704
- Contest_Size = 500
705
  elif contest_var1 == 'Medium':
706
- Contest_Size = 2500
707
- elif contest_var1 == 'Large':
708
  Contest_Size = 5000
 
 
709
  strength_var1 = st.selectbox("How sharp is the field in the contest?", ('Not Very', 'Average', 'Very'))
710
  if strength_var1 == 'Not Very':
711
  sharp_split = .33
@@ -744,7 +748,7 @@ with tab2:
744
  del st.session_state[key]
745
 
746
  if slate_var1 == 'User':
747
- initial_proj = proj_dataframe[['Player', 'Team', 'Position', 'Median', 'Own', 'Floor', 'Ceiling', 'Salary']]
748
 
749
  # Define the calculation to be applied
750
  def calculate_own(position, own, mean_own, factor, max_own=75):
@@ -769,7 +773,7 @@ with tab2:
769
 
770
  elif slate_var1 != 'User':
771
  # Copy only the necessary columns
772
- initial_proj = raw_baselines[['Player', 'Team', 'Position', 'Median', 'Own', 'Floor', 'Ceiling', 'Salary']]
773
 
774
  # Define the calculation to be applied
775
  def calculate_own(position, own, mean_own, factor, max_own=75):
@@ -957,7 +961,7 @@ with tab2:
957
 
958
  FinalPortfolio, maps_dict = run_seed_frame(5, Strength_var, strength_grow, Teams_used, 1000000, field_growth)
959
 
960
- Sim_Winners = sim_contest(5000, FinalPortfolio, CleanPortfolio, maps_dict, up_dict, insert_port)
961
 
962
  # Initial setup
963
  Sim_Winner_Frame = pd.DataFrame(np.concatenate(Sim_Winners), columns=FinalPortfolio.columns.tolist() + ['Fantasy'])
@@ -1000,7 +1004,7 @@ with tab2:
1000
  st.session_state.player_freq['Position'] = st.session_state.player_freq['Player'].map(maps_dict['Pos_map'])
1001
  st.session_state.player_freq['Salary'] = st.session_state.player_freq['Player'].map(maps_dict['Salary_map'])
1002
  st.session_state.player_freq['Proj Own'] = st.session_state.player_freq['Player'].map(maps_dict['Own_map']) / 100
1003
- st.session_state.player_freq['Exposure'] = st.session_state.player_freq['Freq']/(5000)
1004
  st.session_state.player_freq['Edge'] = st.session_state.player_freq['Exposure'] - st.session_state.player_freq['Proj Own']
1005
  st.session_state.player_freq['Team'] = st.session_state.player_freq['Player'].map(maps_dict['Team_map'])
1006
  for checkVar in range(len(team_list)):
@@ -1012,7 +1016,7 @@ with tab2:
1012
  st.session_state.qb_freq['Position'] = st.session_state.qb_freq['Player'].map(maps_dict['Pos_map'])
1013
  st.session_state.qb_freq['Salary'] = st.session_state.qb_freq['Player'].map(maps_dict['Salary_map'])
1014
  st.session_state.qb_freq['Proj Own'] = st.session_state.qb_freq['Player'].map(maps_dict['Own_map']) / 100
1015
- st.session_state.qb_freq['Exposure'] = st.session_state.qb_freq['Freq']/(5000)
1016
  st.session_state.qb_freq['Edge'] = st.session_state.qb_freq['Exposure'] - st.session_state.qb_freq['Proj Own']
1017
  st.session_state.qb_freq['Team'] = st.session_state.qb_freq['Player'].map(maps_dict['Team_map'])
1018
  for checkVar in range(len(team_list)):
@@ -1024,7 +1028,7 @@ with tab2:
1024
  st.session_state.rb_freq['Position'] = st.session_state.rb_freq['Player'].map(maps_dict['Pos_map'])
1025
  st.session_state.rb_freq['Salary'] = st.session_state.rb_freq['Player'].map(maps_dict['Salary_map'])
1026
  st.session_state.rb_freq['Proj Own'] = st.session_state.rb_freq['Player'].map(maps_dict['Own_map']) / 100
1027
- st.session_state.rb_freq['Exposure'] = st.session_state.rb_freq['Freq']/5000
1028
  st.session_state.rb_freq['Edge'] = st.session_state.rb_freq['Exposure'] - st.session_state.rb_freq['Proj Own']
1029
  st.session_state.rb_freq['Team'] = st.session_state.rb_freq['Player'].map(maps_dict['Team_map'])
1030
  for checkVar in range(len(team_list)):
@@ -1036,7 +1040,7 @@ with tab2:
1036
  st.session_state.wr_freq['Position'] = st.session_state.wr_freq['Player'].map(maps_dict['Pos_map'])
1037
  st.session_state.wr_freq['Salary'] = st.session_state.wr_freq['Player'].map(maps_dict['Salary_map'])
1038
  st.session_state.wr_freq['Proj Own'] = st.session_state.wr_freq['Player'].map(maps_dict['Own_map']) / 100
1039
- st.session_state.wr_freq['Exposure'] = st.session_state.wr_freq['Freq']/5000
1040
  st.session_state.wr_freq['Edge'] = st.session_state.wr_freq['Exposure'] - st.session_state.wr_freq['Proj Own']
1041
  st.session_state.wr_freq['Team'] = st.session_state.wr_freq['Player'].map(maps_dict['Team_map'])
1042
  for checkVar in range(len(team_list)):
@@ -1048,7 +1052,7 @@ with tab2:
1048
  st.session_state.te_freq['Position'] = st.session_state.te_freq['Player'].map(maps_dict['Pos_map'])
1049
  st.session_state.te_freq['Salary'] = st.session_state.te_freq['Player'].map(maps_dict['Salary_map'])
1050
  st.session_state.te_freq['Proj Own'] = st.session_state.te_freq['Player'].map(maps_dict['Own_map']) / 100
1051
- st.session_state.te_freq['Exposure'] = st.session_state.te_freq['Freq']/5000
1052
  st.session_state.te_freq['Edge'] = st.session_state.te_freq['Exposure'] - st.session_state.te_freq['Proj Own']
1053
  st.session_state.te_freq['Team'] = st.session_state.te_freq['Player'].map(maps_dict['Team_map'])
1054
  for checkVar in range(len(team_list)):
@@ -1060,7 +1064,7 @@ with tab2:
1060
  st.session_state.flex_freq['Position'] = st.session_state.flex_freq['Player'].map(maps_dict['Pos_map'])
1061
  st.session_state.flex_freq['Salary'] = st.session_state.flex_freq['Player'].map(maps_dict['Salary_map'])
1062
  st.session_state.flex_freq['Proj Own'] = st.session_state.flex_freq['Player'].map(maps_dict['Own_map']) / 100
1063
- st.session_state.flex_freq['Exposure'] = st.session_state.flex_freq['Freq']/5000
1064
  st.session_state.flex_freq['Edge'] = st.session_state.flex_freq['Exposure'] - st.session_state.flex_freq['Proj Own']
1065
  st.session_state.flex_freq['Team'] = st.session_state.flex_freq['Player'].map(maps_dict['Team_map'])
1066
  for checkVar in range(len(team_list)):
@@ -1072,7 +1076,7 @@ with tab2:
1072
  st.session_state.dst_freq['Position'] = st.session_state.dst_freq['Player'].map(maps_dict['Pos_map'])
1073
  st.session_state.dst_freq['Salary'] = st.session_state.dst_freq['Player'].map(maps_dict['Salary_map'])
1074
  st.session_state.dst_freq['Proj Own'] = st.session_state.dst_freq['Player'].map(maps_dict['Own_map']) / 100
1075
- st.session_state.dst_freq['Exposure'] = st.session_state.dst_freq['Freq']/5000
1076
  st.session_state.dst_freq['Edge'] = st.session_state.dst_freq['Exposure'] - st.session_state.dst_freq['Proj Own']
1077
  st.session_state.dst_freq['Team'] = st.session_state.dst_freq['Player'].map(maps_dict['Team_map'])
1078
  for checkVar in range(len(team_list)):
@@ -1175,4 +1179,4 @@ del insert_port1, Contest_Size, sharp_split, Strength_var, scaling_var, Sort_fun
1175
  del raw_baselines
1176
  del freq_format
1177
 
1178
- gc.collect()
 
215
  for i in range(0,4):
216
  ref_dict['pos_dfs'][i], ref_dict['pos_dicts'][i] =\
217
  create_overall_dfs(pos_players, ref_dict['pos_dfs'][i], ref_dict['pos_dicts'][i], ref_dict['pos'][i])
218
+
219
+ df_out = pd.concat(ref_dict['pos_dfs'], ignore_index=True)
220
 
221
  return ref_dict
222
 
 
230
  def create_random_portfolio(Total_Sample_Size, raw_baselines, field_growth):
231
 
232
  full_pos_player_dict = get_overall_merged_df()
233
+ qb_baselines = raw_baselines[raw_baselines['Position'] == 'QB']
234
+ qb_baselines = qb_baselines.drop_duplicates(subset='Team')
235
+ max_var = len(qb_baselines[qb_baselines['Position'] == 'QB'])
236
 
237
  field_growth_rounded = round(field_growth)
238
  ranges_dict = {}
 
705
  insert_port = 0
706
  contest_var1 = st.selectbox("What contest size are you simulating?", ('Small', 'Medium', 'Large'))
707
  if contest_var1 == 'Small':
708
+ Contest_Size = 1000
709
  elif contest_var1 == 'Medium':
 
 
710
  Contest_Size = 5000
711
+ elif contest_var1 == 'Large':
712
+ Contest_Size = 10000
713
  strength_var1 = st.selectbox("How sharp is the field in the contest?", ('Not Very', 'Average', 'Very'))
714
  if strength_var1 == 'Not Very':
715
  sharp_split = .33
 
748
  del st.session_state[key]
749
 
750
  if slate_var1 == 'User':
751
+ initial_proj = proj_dataframe[['Player', 'Team', 'Position', 'Median', 'Own', 'Salary']]
752
 
753
  # Define the calculation to be applied
754
  def calculate_own(position, own, mean_own, factor, max_own=75):
 
773
 
774
  elif slate_var1 != 'User':
775
  # Copy only the necessary columns
776
+ initial_proj = raw_baselines[['Player', 'Team', 'Position', 'Median', 'Own', 'Salary']]
777
 
778
  # Define the calculation to be applied
779
  def calculate_own(position, own, mean_own, factor, max_own=75):
 
961
 
962
  FinalPortfolio, maps_dict = run_seed_frame(5, Strength_var, strength_grow, Teams_used, 1000000, field_growth)
963
 
964
+ Sim_Winners = sim_contest(2500, FinalPortfolio, CleanPortfolio, maps_dict, up_dict, insert_port)
965
 
966
  # Initial setup
967
  Sim_Winner_Frame = pd.DataFrame(np.concatenate(Sim_Winners), columns=FinalPortfolio.columns.tolist() + ['Fantasy'])
 
1004
  st.session_state.player_freq['Position'] = st.session_state.player_freq['Player'].map(maps_dict['Pos_map'])
1005
  st.session_state.player_freq['Salary'] = st.session_state.player_freq['Player'].map(maps_dict['Salary_map'])
1006
  st.session_state.player_freq['Proj Own'] = st.session_state.player_freq['Player'].map(maps_dict['Own_map']) / 100
1007
+ st.session_state.player_freq['Exposure'] = st.session_state.player_freq['Freq']/(2500)
1008
  st.session_state.player_freq['Edge'] = st.session_state.player_freq['Exposure'] - st.session_state.player_freq['Proj Own']
1009
  st.session_state.player_freq['Team'] = st.session_state.player_freq['Player'].map(maps_dict['Team_map'])
1010
  for checkVar in range(len(team_list)):
 
1016
  st.session_state.qb_freq['Position'] = st.session_state.qb_freq['Player'].map(maps_dict['Pos_map'])
1017
  st.session_state.qb_freq['Salary'] = st.session_state.qb_freq['Player'].map(maps_dict['Salary_map'])
1018
  st.session_state.qb_freq['Proj Own'] = st.session_state.qb_freq['Player'].map(maps_dict['Own_map']) / 100
1019
+ st.session_state.qb_freq['Exposure'] = st.session_state.qb_freq['Freq']/(2500)
1020
  st.session_state.qb_freq['Edge'] = st.session_state.qb_freq['Exposure'] - st.session_state.qb_freq['Proj Own']
1021
  st.session_state.qb_freq['Team'] = st.session_state.qb_freq['Player'].map(maps_dict['Team_map'])
1022
  for checkVar in range(len(team_list)):
 
1028
  st.session_state.rb_freq['Position'] = st.session_state.rb_freq['Player'].map(maps_dict['Pos_map'])
1029
  st.session_state.rb_freq['Salary'] = st.session_state.rb_freq['Player'].map(maps_dict['Salary_map'])
1030
  st.session_state.rb_freq['Proj Own'] = st.session_state.rb_freq['Player'].map(maps_dict['Own_map']) / 100
1031
+ st.session_state.rb_freq['Exposure'] = st.session_state.rb_freq['Freq']/2500
1032
  st.session_state.rb_freq['Edge'] = st.session_state.rb_freq['Exposure'] - st.session_state.rb_freq['Proj Own']
1033
  st.session_state.rb_freq['Team'] = st.session_state.rb_freq['Player'].map(maps_dict['Team_map'])
1034
  for checkVar in range(len(team_list)):
 
1040
  st.session_state.wr_freq['Position'] = st.session_state.wr_freq['Player'].map(maps_dict['Pos_map'])
1041
  st.session_state.wr_freq['Salary'] = st.session_state.wr_freq['Player'].map(maps_dict['Salary_map'])
1042
  st.session_state.wr_freq['Proj Own'] = st.session_state.wr_freq['Player'].map(maps_dict['Own_map']) / 100
1043
+ st.session_state.wr_freq['Exposure'] = st.session_state.wr_freq['Freq']/2500
1044
  st.session_state.wr_freq['Edge'] = st.session_state.wr_freq['Exposure'] - st.session_state.wr_freq['Proj Own']
1045
  st.session_state.wr_freq['Team'] = st.session_state.wr_freq['Player'].map(maps_dict['Team_map'])
1046
  for checkVar in range(len(team_list)):
 
1052
  st.session_state.te_freq['Position'] = st.session_state.te_freq['Player'].map(maps_dict['Pos_map'])
1053
  st.session_state.te_freq['Salary'] = st.session_state.te_freq['Player'].map(maps_dict['Salary_map'])
1054
  st.session_state.te_freq['Proj Own'] = st.session_state.te_freq['Player'].map(maps_dict['Own_map']) / 100
1055
+ st.session_state.te_freq['Exposure'] = st.session_state.te_freq['Freq']/2500
1056
  st.session_state.te_freq['Edge'] = st.session_state.te_freq['Exposure'] - st.session_state.te_freq['Proj Own']
1057
  st.session_state.te_freq['Team'] = st.session_state.te_freq['Player'].map(maps_dict['Team_map'])
1058
  for checkVar in range(len(team_list)):
 
1064
  st.session_state.flex_freq['Position'] = st.session_state.flex_freq['Player'].map(maps_dict['Pos_map'])
1065
  st.session_state.flex_freq['Salary'] = st.session_state.flex_freq['Player'].map(maps_dict['Salary_map'])
1066
  st.session_state.flex_freq['Proj Own'] = st.session_state.flex_freq['Player'].map(maps_dict['Own_map']) / 100
1067
+ st.session_state.flex_freq['Exposure'] = st.session_state.flex_freq['Freq']/2500
1068
  st.session_state.flex_freq['Edge'] = st.session_state.flex_freq['Exposure'] - st.session_state.flex_freq['Proj Own']
1069
  st.session_state.flex_freq['Team'] = st.session_state.flex_freq['Player'].map(maps_dict['Team_map'])
1070
  for checkVar in range(len(team_list)):
 
1076
  st.session_state.dst_freq['Position'] = st.session_state.dst_freq['Player'].map(maps_dict['Pos_map'])
1077
  st.session_state.dst_freq['Salary'] = st.session_state.dst_freq['Player'].map(maps_dict['Salary_map'])
1078
  st.session_state.dst_freq['Proj Own'] = st.session_state.dst_freq['Player'].map(maps_dict['Own_map']) / 100
1079
+ st.session_state.dst_freq['Exposure'] = st.session_state.dst_freq['Freq']/2500
1080
  st.session_state.dst_freq['Edge'] = st.session_state.dst_freq['Exposure'] - st.session_state.dst_freq['Proj Own']
1081
  st.session_state.dst_freq['Team'] = st.session_state.dst_freq['Player'].map(maps_dict['Team_map'])
1082
  for checkVar in range(len(team_list)):
 
1179
  del raw_baselines
1180
  del freq_format
1181
 
1182
+ gc.collect()