o
    i	                     @   s   d dl mZ d dlZd dlZd dlZd dlmZ ee	Z
ddlmZmZmZmZ g dZddd	d
dZedZdefddZdefddZe	dkrPed dS dS )    )PathN)DictVectorizer   )assign_gw_difficultyadd_GW1_lagged_dataadd_GW_lagged_datamap_team_to_details)expected_assists_per_90expected_goals_per_90expected_goals_conceded_per_90idelement_typeteamZGKZDEFZMIDZFWD)r            zdata/raw/2025-26gwc                 C   s&   t t d}|jd d tf }|S )Nz/players_raw.csv)pdread_csvBASE_DIRlocSTATIC_FEATURES)r   Zall_players_dfZ	stat_data r   C/var/www/html/fantasy/fantasy_model/scripts/get_prediction_input.pyget_players_static_data   s   r   c                 C   s   d }t | }td|  d|j  |jdddddd}td	|   t|}t|| }|d d
d |d< | dkrBt|}nt	|| }|d t
|d< |d}tddd}||}tj||jd}|S )NzStatic data fetched for GWz with shape ZXAZXGZXGCposition)r	   r
   r   r   )columnsz"Static data columns renamed for GWc                 S   s   t | dS )NZUnknown)POSget)xr   r   r   <lambda>$   s    z&get_prediction_input.<locals>.<lambda>r   recordsF_)sparse	separator)r   loggerinfoshaperenamer   r   applyr   r   strto_dictr   Zfit_transformr   	DataFrameZfeature_names_)r   Zprediction_input_dataZplayers_static_dataZX_dictZdvZ	X_encodedr   r   r   get_prediction_input   s"   




r-   __main__r   )pathlibr   osloggingpandasr   Zsklearn.feature_extractionr   	getLogger__name__r%   Zpred_features_utilr   r   r   r   r   r   r   intr   r-   r   r   r   r   <module>   s    
"