Spaces:
Runtime error
Runtime error
Update app.py
Browse files
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 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
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 |
|