Spaces:
Sleeping
Sleeping
Update app.py
Browse files
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 |
-
|
|
|
|
|
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 =
|
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', '
|
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', '
|
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(
|
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']/(
|
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']/(
|
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']/
|
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']/
|
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']/
|
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']/
|
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']/
|
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()
|