Données d'une date antérieure

Bonjour,
J’essaie de créer une variable dans une dataframe Pandas dans laquelle les données renvoyées correspondraient aux données d’une autre colonne à J-7.

Voici à quoi ressemble la dataframe pour l’instant, j’ai intégré une variable J7 qui correspond à J-7.

J’ai testé avec une fonction mais je fais fausse route.

def consoJ7 (date) :
    if df['J7'] == df['date'] :
       return df['energie_consommee']
    
df['conso_J7'].map(consoJ7)

Vous auriez une idée pour que la variable conso_J7 corresponde à la variable « energie_consommee » de la semaine précédente (à J-7)?

Merci pour votre aide!
Stéphanie

Bonjour Stéphanie,

Dans votre DataFrame, chaque ligne est entièrement définie par la date et la région c’est bien cela ?

(C’est à dire qu’il y a une seule et unique ligne correspondant à la date 2020-07-21 et à la région Hauts-de-France)

Oui c’est bien cela, chaque ligne correspond à 1 conso/jour/région.

Bonjour Stéphanie,

Voici un code qui devrait fonctionner.

conso_J7 = []
for i in range(len(df['J7'])):
    boolean = True
    date_j7 = df['J7'][i]
    region = df['region'][i]
    for j in range(len(df['date'])):
        if df['date'][j] == date_j7 and df['region'][j] == region:
            conso_J7.append(df['energie_consommee'][j])
            boolean = False
    if boolean :
        conso_J7.append(np.nan)
df['conso_J7'] = conso_J7

Bonne journée
Antoine

1 Like

Ca fonctionne parfaitement !!! un très très grand merci :slight_smile:

1 Like