James McCool commited on
Commit
284c743
·
1 Parent(s): 50b29bb

Refactor QB rank adjustment logic in VORP calculation to use vectorized operations, improving performance and maintaining accuracy for Standard and PPR league types.

Browse files
Files changed (1) hide show
  1. src/streamlit_app.py +2 -4
src/streamlit_app.py CHANGED
@@ -395,11 +395,9 @@ def assign_vorp(frame: pd.DataFrame, halfPpr_rv: dict, custom_rv: dict, league_s
395
  for positions in ['QB', 'RB', 'WR', 'TE']:
396
  vorp_frame.loc[vorp_frame['Pos'] == positions, 'Rank_Adjust'] = (vorp_frame['Rank'] - (vorp_frame['vorp_diff'] * pos_vorp_limiters[positions])).astype(float)
397
  if league_settings['TYPE'] == 'Standard':
398
- if vorp_frame['Pos'] == 'QB':
399
- vorp_frame['Rank_Adjust'] = max(vorp_frame['Rank_Adjust'], 10)
400
  elif league_settings['TYPE'] == 'PPR':
401
- if vorp_frame['Pos'] == 'QB':
402
- vorp_frame['Rank_Adjust'] = max(vorp_frame['Rank_Adjust'], -10)
403
  pos_lock_dict = dict(zip(vorp_frame['pos_lock'], vorp_frame['Name']))
404
  name_lock_dict = dict(zip(vorp_frame['Name'], vorp_frame['pos_lock']))
405
  vorp_frame['custom_rank'] = vorp_frame['Rank_Adjust'].rank(method='first', ascending=True).astype(int)
 
395
  for positions in ['QB', 'RB', 'WR', 'TE']:
396
  vorp_frame.loc[vorp_frame['Pos'] == positions, 'Rank_Adjust'] = (vorp_frame['Rank'] - (vorp_frame['vorp_diff'] * pos_vorp_limiters[positions])).astype(float)
397
  if league_settings['TYPE'] == 'Standard':
398
+ vorp_frame.loc[vorp_frame['Pos'] == 'QB', 'Rank_Adjust'] = vorp_frame.loc[vorp_frame['Pos'] == 'QB', 'Rank_Adjust'].apply(lambda x: max(x, 10))
 
399
  elif league_settings['TYPE'] == 'PPR':
400
+ vorp_frame.loc[vorp_frame['Pos'] == 'QB', 'Rank_Adjust'] = vorp_frame.loc[vorp_frame['Pos'] == 'QB', 'Rank_Adjust'].apply(lambda x: max(x, -10))
 
401
  pos_lock_dict = dict(zip(vorp_frame['pos_lock'], vorp_frame['Name']))
402
  name_lock_dict = dict(zip(vorp_frame['Name'], vorp_frame['pos_lock']))
403
  vorp_frame['custom_rank'] = vorp_frame['Rank_Adjust'].rank(method='first', ascending=True).astype(int)