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()
|