James McCool
				
			
		Enhance reassess_edge function by adding max_salary parameter to improve salary handling in the predict_dupes call, ensuring more accurate edge reassessment.
		7b2935a
		
		| import pandas as pd | |
| from global_func.predict_dupes import predict_dupes | |
| def reassess_edge(modified_frame: pd.DataFrame, base_frame: pd.DataFrame, maps_dict: dict, site_var: str, type_var: str, Contest_Size: int, strength_var: str, sport_var: str, max_salary: int) -> pd.DataFrame: | |
| """ | |
| Reassess edge by concatenating modified frame with base frame, running predict_dupes, | |
| and then extracting the first N rows (where N is the length of modified_frame). | |
| Args: | |
| modified_frame: DataFrame with rows that were modified by exposure_spread | |
| base_frame: Original base frame (base_frame for Portfolio, original export_base for Export) | |
| maps_dict: Dictionary containing player mappings | |
| site_var: Site variable (Draftkings/Fanduel) | |
| type_var: Type variable (Classic/Showdown) | |
| Contest_Size: Contest size for calculations | |
| strength_var: Strength variable (Weak/Average/Sharp) | |
| sport_var: Sport variable | |
| max_salary: Maximum salary for the contest | |
| Returns: | |
| DataFrame: Updated modified_frame with recalculated metrics | |
| """ | |
| # Store the number of rows in the modified frame | |
| num_modified_rows = len(modified_frame) | |
| # Concatenate the modified frame with the base frame | |
| combined_frame = pd.concat([modified_frame, base_frame], ignore_index=True) | |
| # Run predict_dupes on the combined frame | |
| updated_combined_frame = predict_dupes(combined_frame, maps_dict, site_var, type_var, Contest_Size, strength_var, sport_var, max_salary) | |
| # Extract the first N rows (which correspond to our modified frame) | |
| result_frame = updated_combined_frame.head(num_modified_rows).copy() | |
| return result_frame | 
