Multichem commited on
Commit
a35f1bc
·
1 Parent(s): a1249a9

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +38 -35
app.py CHANGED
@@ -232,42 +232,45 @@ def calculate_range_var(count, min_val, FieldStrength, field_growth):
232
  return min(var, len(count[0]))
233
 
234
  def create_random_portfolio(Total_Sample_Size, raw_baselines):
 
 
 
235
 
236
- O_merge, full_pos_player_dict = get_overall_merged_df()
237
- max_var = len(raw_baselines[raw_baselines['Position'] == 'QB'])
238
-
239
- field_growth_rounded = round(field_growth)
240
- ranges_dict = {}
241
-
242
- # Calculate ranges
243
- for df, dict_val, min_val, key in zip(ref_dict['pos_dfs'], ref_dict['pos_dicts'], [10, 20, 30, 10], ['RB', 'WR', 'TE', 'FLEX']):
244
- count = create_overall_dfs(pos_players, df, dict_val, key)
245
- ranges_dict[f"{key.lower()}_range"] = calculate_range_var(count, min_val, FieldStrength, field_growth_rounded)
246
- if max_var <= 10:
247
- ranges_dict['qb_range'] = round(max_var)
248
- ranges_dict['dst_range'] = round(max_var)
249
- elif max_var > 10 and max_var <= 16:
250
- ranges_dict['qb_range'] = round(max_var / 1.5)
251
- ranges_dict['dst_range'] = round(max_var)
252
- elif max_var > 16:
253
- ranges_dict['qb_range'] = round(max_var / 2)
254
- ranges_dict['dst_range'] = round(max_var)
255
- # Generate unique ranges
256
- # for key, value in ranges_dict.items():
257
- # ranges_dict[f"{key}_Uniques"] = list(range(0, value, 1))
258
-
259
- # Generate random portfolios
260
- rng = np.random.default_rng()
261
- total_elements = [1, 2, 3, 1, 1, 1]
262
- keys = ['qb', 'rb', 'wr', 'te', 'flex', 'dst']
263
-
264
- all_choices = [rng.choice(ranges_dict[f"{key}_range"], size=(Total_Sample_Size, elem)) for key, elem in zip(keys, total_elements)]
265
- RandomPortfolio = pd.DataFrame(np.hstack(all_choices), columns=['QB', 'RB1', 'RB2', 'WR1', 'WR2', 'WR3', 'TE', 'FLEX', 'DST'])
266
- RandomPortfolio['User/Field'] = 0
267
-
268
- del O_merge
269
-
270
- return RandomPortfolio, maps_dict, ranges_dict, full_pos_player_dict
271
 
272
  def get_correlated_portfolio_for_sim(Total_Sample_Size):
273
 
 
232
  return min(var, len(count[0]))
233
 
234
  def create_random_portfolio(Total_Sample_Size, raw_baselines):
235
+
236
+ O_merge, full_pos_player_dict = get_overall_merged_df()
237
+ max_var = len(raw_baselines.filter(pl.col("Position") == "QB"))
238
 
239
+ field_growth_rounded = round(field_growth)
240
+ ranges_dict = {}
241
+
242
+ # Calculate ranges
243
+ for df, dict_val, min_val, key in zip(ref_dict['pos_dfs'], ref_dict['pos_dicts'], [10, 20, 30, 10], ['RB', 'WR', 'TE', 'FLEX']):
244
+ count = create_overall_dfs(pos_players, df, dict_val, key)
245
+ ranges_dict[f"{key.lower()}_range"] = calculate_range_var(count, min_val, FieldStrength, field_growth_rounded)
246
+
247
+ if max_var <= 10:
248
+ ranges_dict['qb_range'] = round(max_var)
249
+ ranges_dict['dst_range'] = round(max_var)
250
+ elif max_var > 10 and max_var <= 16:
251
+ ranges_dict['qb_range'] = round(max_var / 1.5)
252
+ ranges_dict['dst_range'] = round(max_var)
253
+ elif max_var > 16:
254
+ ranges_dict['qb_range'] = round(max_var / 2)
255
+ ranges_dict['dst_range'] = round(max_var)
256
+
257
+ # Generate random portfolios
258
+ rng = np.random.default_rng()
259
+ total_elements = [1, 2, 3, 1, 1, 1]
260
+ keys = ['qb', 'rb', 'wr', 'te', 'flex', 'dst']
261
+
262
+ all_choices = [rng.choice(ranges_dict[f"{key}_range"], size=(Total_Sample_Size, elem)) for key, elem in zip(keys, total_elements)]
263
+
264
+ # Create a Polars DataFrame
265
+ RandomPortfolio = pl.DataFrame(
266
+ {name: np.hstack([choice[:, i] if choice.shape[1] > i else choice[:, 0] for choice in all_choices]) for i, name in enumerate(['QB', 'RB1', 'RB2', 'WR1', 'WR2', 'WR3', 'TE', 'FLEX', 'DST'])}
267
+ )
268
+ RandomPortfolio = RandomPortfolio.with_column(pl.col("User/Field").fill_none(0))
269
+
270
+
271
+ del O_merge
272
+
273
+ return RandomPortfolio, maps_dict, ranges_dict, full_pos_player_dict
274
 
275
  def get_correlated_portfolio_for_sim(Total_Sample_Size):
276