Multichem commited on
Commit
b8c982f
·
1 Parent(s): 5b5e02e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +38 -44
app.py CHANGED
@@ -976,55 +976,49 @@ with tab2:
976
  SimVar = 1
977
  Sim_Winners = []
978
  fp_array = FinalPortfolio.values
 
979
  if insert_port == 1:
980
  up_array = CleanPortfolio.values
 
 
 
 
 
 
 
 
981
  st.write('Simulating contest on frames')
982
  while SimVar <= Sim_size:
983
- try:
984
- fp_random = fp_array[np.random.choice(fp_array.shape[0], Contest_Size-len(CleanPortfolio), replace=False)]
985
-
986
- smple_arrays1 = np.c_[fp_random,
987
- np.sum(np.random.normal(
988
- loc = np.vectorize(maps_dict['Projection_map'].__getitem__)(fp_random[:,:-5]),
989
- scale = np.vectorize(maps_dict['STDev_map'].__getitem__)(fp_random[:,:-5])),
990
- axis=1)]
991
- try:
992
- smple_arrays2 = np.c_[up_array,
993
- np.sum(np.random.normal(
994
- loc = np.vectorize(up_dict['Projection_map'].__getitem__)(up_array[:,:-5]),
995
- scale = np.vectorize(up_dict['STDev_map'].__getitem__)(up_array[:,:-5])),
996
- axis=1)]
997
- except:
998
- pass
999
- try:
1000
- smple_arrays = np.vstack((smple_arrays1, smple_arrays2))
1001
- except:
1002
- smple_arrays = smple_arrays1
1003
- final_array = smple_arrays[smple_arrays[:, 7].argsort()[::-1]]
1004
- best_lineup = final_array[final_array[:, -1].argsort(kind='stable')[::-1][:1]]
1005
- Sim_Winners.append(best_lineup)
1006
- SimVar += 1
1007
 
1008
- except:
1009
- FieldStrength += (strength_grow + ((30 - len(Teams_used)) * .001))
1010
- FinalPortfolio3, maps_dict3 = get_correlated_portfolio_for_sim(Total_Runs * field_split)
1011
- FinalPortfolio4, maps_dict4 = get_uncorrelated_portfolio_for_sim(Total_Runs * field_split)
1012
- FinalPortfolio = pd.concat([FinalPortfolio, FinalPortfolio3], axis=0)
1013
- FinalPortfolio = pd.concat([FinalPortfolio, FinalPortfolio4], axis=0)
1014
- try:
1015
- FinalPortfolio = FinalPortfolio.drop_duplicates(subset = ['Projection', 'Ownership'],keep = 'last').reset_index(drop = True)
1016
- except:
1017
- FinalPortfolio = FinalPortfolio.drop_duplicates(subset = ['Projection', 'Own'],keep = 'last').reset_index(drop = True)
1018
- maps_dict.update(maps_dict3)
1019
- maps_dict.update(maps_dict4)
1020
- del FinalPortfolio3
1021
- del maps_dict3
1022
- del FinalPortfolio4
1023
- del maps_dict4
1024
- fp_array = FinalPortfolio.values
1025
- if insert_port == 1:
1026
- up_array = CleanPortfolio.values
1027
- SimVar = SimVar
 
 
 
 
1028
  st.write('Contest simulation complete')
1029
 
1030
  Sim_Winner_Frame = pd.DataFrame(np.concatenate(Sim_Winners), columns=FinalPortfolio.columns.tolist() + ['Fantasy'])
 
976
  SimVar = 1
977
  Sim_Winners = []
978
  fp_array = FinalPortfolio.values
979
+
980
  if insert_port == 1:
981
  up_array = CleanPortfolio.values
982
+
983
+ # Pre-vectorize functions
984
+ vec_projection_map = np.vectorize(maps_dict['Projection_map'].__getitem__)
985
+ vec_stdev_map = np.vectorize(maps_dict['STDev_map'].__getitem__)
986
+
987
+ if insert_port == 1:
988
+ vec_up_projection_map = np.vectorize(up_dict['Projection_map'].__getitem__)
989
+ vec_up_stdev_map = np.vectorize(up_dict['STDev_map'].__getitem__)
990
  st.write('Simulating contest on frames')
991
  while SimVar <= Sim_size:
992
+
993
+ if insert_port == 1:
994
+ fp_random = fp_array[np.random.choice(fp_array.shape[0], Contest_Size-len(CleanPortfolio))]
995
+ elif insert_port == 0:
996
+ fp_random = fp_array[np.random.choice(fp_array.shape[0], Contest_Size)]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
997
 
998
+ sample_arrays1 = np.c_[
999
+ fp_random,
1000
+ np.sum(np.random.normal(
1001
+ loc=vec_projection_map(fp_random[:, :-5]),
1002
+ scale=vec_stdev_map(fp_random[:, :-5])),
1003
+ axis=1)
1004
+ ]
1005
+
1006
+ if insert_port == 1:
1007
+ sample_arrays2 = np.c_[
1008
+ up_array,
1009
+ np.sum(np.random.normal(
1010
+ loc=vec_up_projection_map(up_array[:, :-5]),
1011
+ scale=vec_up_stdev_map(up_array[:, :-5])),
1012
+ axis=1)
1013
+ ]
1014
+ sample_arrays = np.vstack((sample_arrays1, sample_arrays2))
1015
+ else:
1016
+ sample_arrays = sample_arrays1
1017
+
1018
+ final_array = sample_arrays[sample_arrays[:, 10].argsort()[::-1]]
1019
+ best_lineup = final_array[final_array[:, -1].argsort(kind='stable')[::-1][:1]]
1020
+ Sim_Winners.append(best_lineup)
1021
+ SimVar += 1
1022
  st.write('Contest simulation complete')
1023
 
1024
  Sim_Winner_Frame = pd.DataFrame(np.concatenate(Sim_Winners), columns=FinalPortfolio.columns.tolist() + ['Fantasy'])