Spaces:
Sleeping
Sleeping
James McCool
commited on
Commit
·
9628f53
1
Parent(s):
e8f9f9f
Enhance VORP scoring in Streamlit app by returning an additional original rank dictionary, improving player ranking accuracy and enabling better mapping of scoring ranks in the final output.
Browse files- src/streamlit_app.py +4 -2
src/streamlit_app.py
CHANGED
@@ -382,8 +382,9 @@ def assign_vorp_scoring(frame: pd.DataFrame, halfPpr_rv: dict, custom_rv: dict,
|
|
382 |
vorp_frame['pos_rank'] = vorp_frame.groupby('Pos')['custom_rank'].rank(method='first', ascending=True).astype(int)
|
383 |
vorp_frame['pos_designation'] = vorp_frame['Pos'] + vorp_frame['pos_rank'].astype(str)
|
384 |
pos_des_dict = dict(zip(vorp_frame['pos_designation'], vorp_frame['Name']))
|
|
|
385 |
|
386 |
-
return pos_des_dict
|
387 |
|
388 |
def assign_vorp_roster(frame: pd.DataFrame, halfPpr_rv: dict, custom_rv: dict, league_settings: dict, pos_vorp_limiters: dict) -> pd.DataFrame:
|
389 |
if league_settings['TYPE'] == 'Half PPR':
|
@@ -444,9 +445,10 @@ def main():
|
|
444 |
custom_roster_rv = create_custom_rv(position_df, custom_pos_reqs, user_league_settings)
|
445 |
|
446 |
# Calculate VORP and rankings
|
447 |
-
pos_des_dict = assign_vorp_scoring(position_df, halfPpr_rv, custom_scoring_rv, user_league_settings, user_pos_vorp_limiters)
|
448 |
final_df = assign_vorp_roster(position_df, halfPpr_rv, custom_roster_rv, user_league_settings, user_pos_vorp_limiters)
|
449 |
final_df = final_df.drop(columns=['SR_ID'], axis=1)
|
|
|
450 |
final_df['pos_lock_name'] = final_df['pos_designation'].map(pos_des_dict)
|
451 |
|
452 |
# Display results
|
|
|
382 |
vorp_frame['pos_rank'] = vorp_frame.groupby('Pos')['custom_rank'].rank(method='first', ascending=True).astype(int)
|
383 |
vorp_frame['pos_designation'] = vorp_frame['Pos'] + vorp_frame['pos_rank'].astype(str)
|
384 |
pos_des_dict = dict(zip(vorp_frame['pos_designation'], vorp_frame['Name']))
|
385 |
+
orig_rank_dict = dict(zip(vorp_frame['Name'], vorp_frame['pos_designation']))
|
386 |
|
387 |
+
return pos_des_dict, orig_rank_dict
|
388 |
|
389 |
def assign_vorp_roster(frame: pd.DataFrame, halfPpr_rv: dict, custom_rv: dict, league_settings: dict, pos_vorp_limiters: dict) -> pd.DataFrame:
|
390 |
if league_settings['TYPE'] == 'Half PPR':
|
|
|
445 |
custom_roster_rv = create_custom_rv(position_df, custom_pos_reqs, user_league_settings)
|
446 |
|
447 |
# Calculate VORP and rankings
|
448 |
+
pos_des_dict, orig_rank_dict = assign_vorp_scoring(position_df, halfPpr_rv, custom_scoring_rv, user_league_settings, user_pos_vorp_limiters)
|
449 |
final_df = assign_vorp_roster(position_df, halfPpr_rv, custom_roster_rv, user_league_settings, user_pos_vorp_limiters)
|
450 |
final_df = final_df.drop(columns=['SR_ID'], axis=1)
|
451 |
+
final_df['scoring_rank'] = final_df['Name'].map(orig_rank_dict)
|
452 |
final_df['pos_lock_name'] = final_df['pos_designation'].map(pos_des_dict)
|
453 |
|
454 |
# Display results
|