James McCool commited on
Commit
f0036dd
·
1 Parent(s): b529706

Refactor filtering logic in distribute_preset function to improve handling of 'Finish_percentile' thresholds. Introduced a variable for finish threshold to enhance code readability and maintain accurate portfolio selection across all finishing ranges.

Browse files
Files changed (1) hide show
  1. global_func/distribute_preset.py +5 -3
global_func/distribute_preset.py CHANGED
@@ -6,14 +6,16 @@ def distribute_preset(portfolio: pd.DataFrame, lineup_target: int, exclude_cols:
6
  concat_portfolio = pd.DataFrame(columns=portfolio.columns)
7
 
8
  for finishing_range in range(1, 20):
 
9
  rows_to_drop = []
10
  working_portfolio = portfolio.copy()
11
  if finishing_range == 1:
12
- working_portfolio = working_portfolio[working_portfolio['Finish_percentile'] <= (finishing_range / 100)]
13
  elif finishing_range == 20:
14
- working_portfolio = working_portfolio[working_portfolio['Finish_percentile'] >= ((finishing_range - 1) / 100)]
15
  else:
16
- working_portfolio = working_portfolio[(working_portfolio['Finish_percentile'] <= (finishing_range / 100)) & (working_portfolio['Finish_percentile'] >= ((finishing_range - 1) / 100))]
 
17
  working_portfolio = working_portfolio.sort_values(by='median', ascending = False)
18
  working_portfolio = working_portfolio.reset_index(drop=True)
19
  curr_own_type_max = working_portfolio.loc[0, 'Weighted Own'] + (slack_var / 20 * working_portfolio.loc[0, 'Weighted Own'])
 
6
  concat_portfolio = pd.DataFrame(columns=portfolio.columns)
7
 
8
  for finishing_range in range(1, 20):
9
+ finish_threshold = (finishing_range / 100)
10
  rows_to_drop = []
11
  working_portfolio = portfolio.copy()
12
  if finishing_range == 1:
13
+ working_portfolio = working_portfolio[working_portfolio['Finish_percentile'] <= finish_threshold]
14
  elif finishing_range == 20:
15
+ working_portfolio = working_portfolio[working_portfolio['Finish_percentile'] >= (finish_threshold - 1)]
16
  else:
17
+ working_portfolio = working_portfolio[working_portfolio['Finish_percentile'] <= finish_threshold]
18
+ working_portfolio = working_portfolio[working_portfolio['Finish_percentile'] >= (finish_threshold - 1)]
19
  working_portfolio = working_portfolio.sort_values(by='median', ascending = False)
20
  working_portfolio = working_portfolio.reset_index(drop=True)
21
  curr_own_type_max = working_portfolio.loc[0, 'Weighted Own'] + (slack_var / 20 * working_portfolio.loc[0, 'Weighted Own'])