<jupyter_start><jupyter_text>Ce notebook est seulement pour creer une fonction qui nous permettra de generer des valeurs retardees pour les variables que l'on utilisera par la suite pour preduire quelle equipe qui devrait gagner...<jupyter_code># Check Python Version
from platform import python_version
import pandas as pd
import requests
import datetime

pd.set_option('display.max_columns', None)

print(python_version())
df = pd.read_csv('../../data/games.csv')
df.head(5)<jupyter_output><empty_output><jupyter_text>L'objectif est de faire une fonction que va creer des valeurs retardes (p) pour un ensemble de variables. Pour etre en mesure d'effectuer ces valeurs retardees, il faut d'abord faire un sort sur un ensemble de dimension pertinentes. Ces dimensions sont les suivantes:+ Equipe + Saison + Date<jupyter_code>df_sorted = df.sort_values(by=['teams.home.team.name', 'season' ,'gamePk'])
df_sorted['teams.away.score.L1'] = df_sorted.groupby(['teams.home.team.name', 'season'])['teams.away.score'].shift(1)
df_out = df_sorted[df_sorted['teams.home.team.name']=='Washington Capitals']
df_sorted['teams.home.team.name'].value_counts()
def create_lag(df, p, sortList, partList, lagList):
    """
    Cette fonction prend comme intrant un df, une liste de variables pour lesquelles il faut
    creer des valeurs retardees, le nombre de retard, les variables sur lesquelles il faut sort,
    les variables de partition et la liste de varibles pour lesquelles on veut des valeurs retardees.
    La fonction retourne un df augmente des variables retardees
    """
    df = df.sort_values(by=sortList)
    
    for feature in lagList:
        for i in range(p):
            df['{}.L{}'.format(feature,i+1)] = df.groupby(partList)[feature].shift(i+1)
    
    return df
lagged = create_lag(df=df,
                    p=2,
                    sortList=['teams.home.team.name', 'season', 'gamePk'], 
                    partList=['teams.home.team.name', 'season'],
                    lagList=['teams.home.score','teams.away.score'])
lagged.head(5)<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.11303511303511303, 'fraction_numerical': 0.003367003367003367, 'mean_word_length': 4.098039215686274, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '2', 'dir': 'jupyter-structured-clean-dedup', 'id': '292181', 'license': 'MIT', 'n_tokens_mistral': 678, 'n_tokens_neox': 661, 'n_words': 193, 'path': 'notebooks/Fonction_create_lag.ipynb', 'repo_name': 'FrischWaugh/nhl_prediction', 'size': '2079'}