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