Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -146,14 +146,14 @@ def run_seed_frame(seed_depth1, Strength_var, strength_grow, Teams_used, Total_R
|
|
146 |
while RunsVar <= seed_depth_def:
|
147 |
if RunsVar <= 3:
|
148 |
FieldStrength = Strength_var_def
|
149 |
-
FinalPortfolio, maps_dict = get_correlated_portfolio_for_sim(Total_Runs_def * .
|
150 |
-
FinalPortfolio2, maps_dict2 = get_uncorrelated_portfolio_for_sim(Total_Runs_def * .
|
151 |
FinalPortfolio_init = pd.concat([FinalPortfolio, FinalPortfolio2], axis=0)
|
152 |
maps_dict.update(maps_dict2)
|
153 |
elif RunsVar > 3 and RunsVar <= 4:
|
154 |
FieldStrength += (strength_grow_def + ((30 - len(Teams_used_def)) * .001))
|
155 |
-
FinalPortfolio3, maps_dict3 = get_correlated_portfolio_for_sim(Total_Runs_def * .
|
156 |
-
FinalPortfolio4, maps_dict4 = get_uncorrelated_portfolio_for_sim(Total_Runs_def * .
|
157 |
FinalPortfolio_merge_3 = pd.concat([FinalPortfolio_init, FinalPortfolio3], axis=0)
|
158 |
FinalPortfolio_merge_4 = pd.concat([FinalPortfolio_merge_3, FinalPortfolio4], axis=0)
|
159 |
FinalPortfolio_step_2 = FinalPortfolio_merge_4.drop_duplicates(subset = ['Projection', 'Own'],keep = 'last').reset_index(drop = True)
|
@@ -161,8 +161,8 @@ def run_seed_frame(seed_depth1, Strength_var, strength_grow, Teams_used, Total_R
|
|
161 |
maps_dict.update(maps_dict4)
|
162 |
elif RunsVar > 4:
|
163 |
FieldStrength = 1
|
164 |
-
FinalPortfolio5, maps_dict5 = get_correlated_portfolio_for_sim(Total_Runs_def * .
|
165 |
-
FinalPortfolio6, maps_dict6 = get_uncorrelated_portfolio_for_sim(Total_Runs_def * .
|
166 |
FinalPortfolio_merge_5 = pd.concat([FinalPortfolio_step_2, FinalPortfolio5], axis=0)
|
167 |
FinalPortfolio_merge_6 = pd.concat([FinalPortfolio_merge_5, FinalPortfolio6], axis=0)
|
168 |
FinalPortfolio_export = FinalPortfolio_merge_6.drop_duplicates(subset = ['Projection', 'Own'],keep = 'last').reset_index(drop = True)
|
@@ -956,13 +956,16 @@ with tab2:
|
|
956 |
'team_check_map':dict(zip(cleaport_players.Player,nerf_frame.Team))
|
957 |
}
|
958 |
|
959 |
-
FinalPortfolio, maps_dict = run_seed_frame(
|
960 |
|
961 |
Sim_Winners = sim_contest(2500, FinalPortfolio, CleanPortfolio, maps_dict, up_dict, insert_port)
|
962 |
|
963 |
# Initial setup
|
964 |
Sim_Winner_Frame = pd.DataFrame(np.concatenate(Sim_Winners), columns=FinalPortfolio.columns.tolist() + ['Fantasy'])
|
965 |
Sim_Winner_Frame['GPP_Proj'] = (Sim_Winner_Frame['Projection'] + Sim_Winner_Frame['Fantasy']) / 2
|
|
|
|
|
|
|
966 |
|
967 |
# Type Casting
|
968 |
type_cast_dict = {'Salary': int, 'Projection': np.float16, 'Fantasy': np.float16, 'GPP_Proj': np.float16}
|
@@ -971,10 +974,14 @@ with tab2:
|
|
971 |
del FinalPortfolio, insert_port, type_cast_dict
|
972 |
|
973 |
# Sorting
|
974 |
-
st.session_state.Sim_Winner_Frame = Sim_Winner_Frame.sort_values(by='
|
|
|
975 |
|
976 |
# Data Copying
|
977 |
-
st.session_state.Sim_Winner_Export = Sim_Winner_Frame
|
|
|
|
|
|
|
978 |
|
979 |
# Conditional Replacement
|
980 |
columns_to_replace = ['QB', 'RB1', 'RB2', 'WR1', 'WR2', 'WR3', 'TE', 'FLEX', 'DST']
|
@@ -989,7 +996,7 @@ with tab2:
|
|
989 |
|
990 |
del replace_dict, Sim_Winner_Frame, Sim_Winners
|
991 |
|
992 |
-
st.session_state.player_freq = pd.DataFrame(np.column_stack(np.unique(st.session_state.
|
993 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
994 |
st.session_state.player_freq['Freq'] = st.session_state.player_freq['Freq'].astype(int)
|
995 |
st.session_state.player_freq['Position'] = st.session_state.player_freq['Player'].map(maps_dict['Pos_map'])
|
@@ -1001,7 +1008,7 @@ with tab2:
|
|
1001 |
for checkVar in range(len(team_list)):
|
1002 |
st.session_state.player_freq['Team'] = st.session_state.player_freq['Team'].replace(item_list, team_list)
|
1003 |
|
1004 |
-
st.session_state.qb_freq = pd.DataFrame(np.column_stack(np.unique(st.session_state.
|
1005 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
1006 |
st.session_state.qb_freq['Freq'] = st.session_state.qb_freq['Freq'].astype(int)
|
1007 |
st.session_state.qb_freq['Position'] = st.session_state.qb_freq['Player'].map(maps_dict['Pos_map'])
|
@@ -1013,7 +1020,7 @@ with tab2:
|
|
1013 |
for checkVar in range(len(team_list)):
|
1014 |
st.session_state.qb_freq['Team'] = st.session_state.qb_freq['Team'].replace(item_list, team_list)
|
1015 |
|
1016 |
-
st.session_state.rb_freq = pd.DataFrame(np.column_stack(np.unique(st.session_state.
|
1017 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
1018 |
st.session_state.rb_freq['Freq'] = st.session_state.rb_freq['Freq'].astype(int)
|
1019 |
st.session_state.rb_freq['Position'] = st.session_state.rb_freq['Player'].map(maps_dict['Pos_map'])
|
@@ -1025,7 +1032,7 @@ with tab2:
|
|
1025 |
for checkVar in range(len(team_list)):
|
1026 |
st.session_state.rb_freq['Team'] = st.session_state.rb_freq['Team'].replace(item_list, team_list)
|
1027 |
|
1028 |
-
st.session_state.wr_freq = pd.DataFrame(np.column_stack(np.unique(st.session_state.
|
1029 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
1030 |
st.session_state.wr_freq['Freq'] = st.session_state.wr_freq['Freq'].astype(int)
|
1031 |
st.session_state.wr_freq['Position'] = st.session_state.wr_freq['Player'].map(maps_dict['Pos_map'])
|
@@ -1037,7 +1044,7 @@ with tab2:
|
|
1037 |
for checkVar in range(len(team_list)):
|
1038 |
st.session_state.wr_freq['Team'] = st.session_state.wr_freq['Team'].replace(item_list, team_list)
|
1039 |
|
1040 |
-
st.session_state.te_freq = pd.DataFrame(np.column_stack(np.unique(st.session_state.
|
1041 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
1042 |
st.session_state.te_freq['Freq'] = st.session_state.te_freq['Freq'].astype(int)
|
1043 |
st.session_state.te_freq['Position'] = st.session_state.te_freq['Player'].map(maps_dict['Pos_map'])
|
@@ -1049,7 +1056,7 @@ with tab2:
|
|
1049 |
for checkVar in range(len(team_list)):
|
1050 |
st.session_state.te_freq['Team'] = st.session_state.te_freq['Team'].replace(item_list, team_list)
|
1051 |
|
1052 |
-
st.session_state.flex_freq = pd.DataFrame(np.column_stack(np.unique(st.session_state.
|
1053 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
1054 |
st.session_state.flex_freq['Freq'] = st.session_state.flex_freq['Freq'].astype(int)
|
1055 |
st.session_state.flex_freq['Position'] = st.session_state.flex_freq['Player'].map(maps_dict['Pos_map'])
|
@@ -1061,7 +1068,7 @@ with tab2:
|
|
1061 |
for checkVar in range(len(team_list)):
|
1062 |
st.session_state.flex_freq['Team'] = st.session_state.flex_freq['Team'].replace(item_list, team_list)
|
1063 |
|
1064 |
-
st.session_state.dst_freq = pd.DataFrame(np.column_stack(np.unique(st.session_state.
|
1065 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
1066 |
st.session_state.dst_freq['Freq'] = st.session_state.dst_freq['Freq'].astype(int)
|
1067 |
st.session_state.dst_freq['Position'] = st.session_state.dst_freq['Player'].map(maps_dict['Pos_map'])
|
@@ -1089,7 +1096,7 @@ with tab2:
|
|
1089 |
st.dataframe(st.session_state.Sim_Winner_Display.style.background_gradient(axis=0).background_gradient(cmap='RdYlGn').background_gradient(cmap='RdYlGn_r', subset=['Own']).format(precision=2), use_container_width = True)
|
1090 |
if 'Sim_Winner_Export' in st.session_state:
|
1091 |
st.download_button(
|
1092 |
-
label="Export
|
1093 |
data=st.session_state.Sim_Winner_Export.to_csv().encode('utf-8'),
|
1094 |
file_name='NFL_consim_export.csv',
|
1095 |
mime='text/csv',
|
@@ -1168,4 +1175,6 @@ del dkid_dict, fdid_dict
|
|
1168 |
del static_exposure, overall_exposure
|
1169 |
del insert_port1, Contest_Size, sharp_split, Strength_var, scaling_var, Sort_function, Sim_function, strength_grow, field_growth
|
1170 |
del raw_baselines
|
1171 |
-
del freq_format
|
|
|
|
|
|
146 |
while RunsVar <= seed_depth_def:
|
147 |
if RunsVar <= 3:
|
148 |
FieldStrength = Strength_var_def
|
149 |
+
FinalPortfolio, maps_dict = get_correlated_portfolio_for_sim(Total_Runs_def * .1, sharp_split, field_growth)
|
150 |
+
FinalPortfolio2, maps_dict2 = get_uncorrelated_portfolio_for_sim(Total_Runs_def * .1, sharp_split, field_growth)
|
151 |
FinalPortfolio_init = pd.concat([FinalPortfolio, FinalPortfolio2], axis=0)
|
152 |
maps_dict.update(maps_dict2)
|
153 |
elif RunsVar > 3 and RunsVar <= 4:
|
154 |
FieldStrength += (strength_grow_def + ((30 - len(Teams_used_def)) * .001))
|
155 |
+
FinalPortfolio3, maps_dict3 = get_correlated_portfolio_for_sim(Total_Runs_def * .1, sharp_split, field_growth)
|
156 |
+
FinalPortfolio4, maps_dict4 = get_uncorrelated_portfolio_for_sim(Total_Runs_def * .1, sharp_split, field_growth)
|
157 |
FinalPortfolio_merge_3 = pd.concat([FinalPortfolio_init, FinalPortfolio3], axis=0)
|
158 |
FinalPortfolio_merge_4 = pd.concat([FinalPortfolio_merge_3, FinalPortfolio4], axis=0)
|
159 |
FinalPortfolio_step_2 = FinalPortfolio_merge_4.drop_duplicates(subset = ['Projection', 'Own'],keep = 'last').reset_index(drop = True)
|
|
|
161 |
maps_dict.update(maps_dict4)
|
162 |
elif RunsVar > 4:
|
163 |
FieldStrength = 1
|
164 |
+
FinalPortfolio5, maps_dict5 = get_correlated_portfolio_for_sim(Total_Runs_def * .1, sharp_split, field_growth)
|
165 |
+
FinalPortfolio6, maps_dict6 = get_uncorrelated_portfolio_for_sim(Total_Runs_def * .1, sharp_split, field_growth)
|
166 |
FinalPortfolio_merge_5 = pd.concat([FinalPortfolio_step_2, FinalPortfolio5], axis=0)
|
167 |
FinalPortfolio_merge_6 = pd.concat([FinalPortfolio_merge_5, FinalPortfolio6], axis=0)
|
168 |
FinalPortfolio_export = FinalPortfolio_merge_6.drop_duplicates(subset = ['Projection', 'Own'],keep = 'last').reset_index(drop = True)
|
|
|
956 |
'team_check_map':dict(zip(cleaport_players.Player,nerf_frame.Team))
|
957 |
}
|
958 |
|
959 |
+
FinalPortfolio, maps_dict = run_seed_frame(5, Strength_var, strength_grow, Teams_used, 1000000, field_growth)
|
960 |
|
961 |
Sim_Winners = sim_contest(2500, FinalPortfolio, CleanPortfolio, maps_dict, up_dict, insert_port)
|
962 |
|
963 |
# Initial setup
|
964 |
Sim_Winner_Frame = pd.DataFrame(np.concatenate(Sim_Winners), columns=FinalPortfolio.columns.tolist() + ['Fantasy'])
|
965 |
Sim_Winner_Frame['GPP_Proj'] = (Sim_Winner_Frame['Projection'] + Sim_Winner_Frame['Fantasy']) / 2
|
966 |
+
Sim_Winner_Frame = Sim_Winner_Frame.sort_values(by='GPP_Proj', ascending=False).copy()
|
967 |
+
Sim_Winner_Frame['unique_id'] = Sim_Winner_Frame['Projection'].astype(str) + Sim_Winner_Frame['Salary'].astype(str) + Sim_Winner_Frame['Own'].astype(str)
|
968 |
+
Sim_Winner_Frame = Sim_Winner_Frame.assign(win_count=Sim_Winner_Frame['unique_id'].map(Sim_Winner_Frame['unique_id'].value_counts()))
|
969 |
|
970 |
# Type Casting
|
971 |
type_cast_dict = {'Salary': int, 'Projection': np.float16, 'Fantasy': np.float16, 'GPP_Proj': np.float16}
|
|
|
974 |
del FinalPortfolio, insert_port, type_cast_dict
|
975 |
|
976 |
# Sorting
|
977 |
+
st.session_state.Sim_Winner_Frame = Sim_Winner_Frame.sort_values(by='win_count', ascending=False).copy().drop_duplicates(subset='unique_id').head(100)
|
978 |
+
st.session_state.Sim_Winner_Frame.drop(columns='unique_id', inplace=True)
|
979 |
|
980 |
# Data Copying
|
981 |
+
st.session_state.Sim_Winner_Export = Sim_Winner_Frame.copy()
|
982 |
+
|
983 |
+
# Data Copying
|
984 |
+
st.session_state.Sim_Winner_Display = Sim_Winner_Frame.copy()
|
985 |
|
986 |
# Conditional Replacement
|
987 |
columns_to_replace = ['QB', 'RB1', 'RB2', 'WR1', 'WR2', 'WR3', 'TE', 'FLEX', 'DST']
|
|
|
996 |
|
997 |
del replace_dict, Sim_Winner_Frame, Sim_Winners
|
998 |
|
999 |
+
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)),
|
1000 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
1001 |
st.session_state.player_freq['Freq'] = st.session_state.player_freq['Freq'].astype(int)
|
1002 |
st.session_state.player_freq['Position'] = st.session_state.player_freq['Player'].map(maps_dict['Pos_map'])
|
|
|
1008 |
for checkVar in range(len(team_list)):
|
1009 |
st.session_state.player_freq['Team'] = st.session_state.player_freq['Team'].replace(item_list, team_list)
|
1010 |
|
1011 |
+
st.session_state.qb_freq = pd.DataFrame(np.column_stack(np.unique(st.session_state.Sim_Winner_Display.iloc[:,0:1].values, return_counts=True)),
|
1012 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
1013 |
st.session_state.qb_freq['Freq'] = st.session_state.qb_freq['Freq'].astype(int)
|
1014 |
st.session_state.qb_freq['Position'] = st.session_state.qb_freq['Player'].map(maps_dict['Pos_map'])
|
|
|
1020 |
for checkVar in range(len(team_list)):
|
1021 |
st.session_state.qb_freq['Team'] = st.session_state.qb_freq['Team'].replace(item_list, team_list)
|
1022 |
|
1023 |
+
st.session_state.rb_freq = pd.DataFrame(np.column_stack(np.unique(st.session_state.Sim_Winner_Display.iloc[:,[1, 2]].values, return_counts=True)),
|
1024 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
1025 |
st.session_state.rb_freq['Freq'] = st.session_state.rb_freq['Freq'].astype(int)
|
1026 |
st.session_state.rb_freq['Position'] = st.session_state.rb_freq['Player'].map(maps_dict['Pos_map'])
|
|
|
1032 |
for checkVar in range(len(team_list)):
|
1033 |
st.session_state.rb_freq['Team'] = st.session_state.rb_freq['Team'].replace(item_list, team_list)
|
1034 |
|
1035 |
+
st.session_state.wr_freq = pd.DataFrame(np.column_stack(np.unique(st.session_state.Sim_Winner_Display.iloc[:,[3, 4, 5]].values, return_counts=True)),
|
1036 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
1037 |
st.session_state.wr_freq['Freq'] = st.session_state.wr_freq['Freq'].astype(int)
|
1038 |
st.session_state.wr_freq['Position'] = st.session_state.wr_freq['Player'].map(maps_dict['Pos_map'])
|
|
|
1044 |
for checkVar in range(len(team_list)):
|
1045 |
st.session_state.wr_freq['Team'] = st.session_state.wr_freq['Team'].replace(item_list, team_list)
|
1046 |
|
1047 |
+
st.session_state.te_freq = pd.DataFrame(np.column_stack(np.unique(st.session_state.Sim_Winner_Display.iloc[:,[6]].values, return_counts=True)),
|
1048 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
1049 |
st.session_state.te_freq['Freq'] = st.session_state.te_freq['Freq'].astype(int)
|
1050 |
st.session_state.te_freq['Position'] = st.session_state.te_freq['Player'].map(maps_dict['Pos_map'])
|
|
|
1056 |
for checkVar in range(len(team_list)):
|
1057 |
st.session_state.te_freq['Team'] = st.session_state.te_freq['Team'].replace(item_list, team_list)
|
1058 |
|
1059 |
+
st.session_state.flex_freq = pd.DataFrame(np.column_stack(np.unique(st.session_state.Sim_Winner_Display.iloc[:,[7]].values, return_counts=True)),
|
1060 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
1061 |
st.session_state.flex_freq['Freq'] = st.session_state.flex_freq['Freq'].astype(int)
|
1062 |
st.session_state.flex_freq['Position'] = st.session_state.flex_freq['Player'].map(maps_dict['Pos_map'])
|
|
|
1068 |
for checkVar in range(len(team_list)):
|
1069 |
st.session_state.flex_freq['Team'] = st.session_state.flex_freq['Team'].replace(item_list, team_list)
|
1070 |
|
1071 |
+
st.session_state.dst_freq = pd.DataFrame(np.column_stack(np.unique(st.session_state.Sim_Winner_Display.iloc[:,8:9].values, return_counts=True)),
|
1072 |
columns=['Player','Freq']).sort_values('Freq', ascending=False).reset_index(drop=True)
|
1073 |
st.session_state.dst_freq['Freq'] = st.session_state.dst_freq['Freq'].astype(int)
|
1074 |
st.session_state.dst_freq['Position'] = st.session_state.dst_freq['Player'].map(maps_dict['Pos_map'])
|
|
|
1096 |
st.dataframe(st.session_state.Sim_Winner_Display.style.background_gradient(axis=0).background_gradient(cmap='RdYlGn').background_gradient(cmap='RdYlGn_r', subset=['Own']).format(precision=2), use_container_width = True)
|
1097 |
if 'Sim_Winner_Export' in st.session_state:
|
1098 |
st.download_button(
|
1099 |
+
label="Export Full Frame",
|
1100 |
data=st.session_state.Sim_Winner_Export.to_csv().encode('utf-8'),
|
1101 |
file_name='NFL_consim_export.csv',
|
1102 |
mime='text/csv',
|
|
|
1175 |
del static_exposure, overall_exposure
|
1176 |
del insert_port1, Contest_Size, sharp_split, Strength_var, scaling_var, Sort_function, Sim_function, strength_grow, field_growth
|
1177 |
del raw_baselines
|
1178 |
+
del freq_format
|
1179 |
+
|
1180 |
+
gc.collect()
|