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