J'ai un df
avec deux colonnes : date et décalage (valeur entière). Je veux soustraire le nombre de mois (basé sur la valeur de la colonne) de la date et obtenir la date de fin de mois. J'ai essayé :
df['NewDate'] = df['Date'] - relativedelta(months=df['Offset'])
et :
df['NewDate'] = df.apply(lambda x: x['Date']-pd.offsets.MonthEnd(months=x['Offset']), axis=1)
mais je n'ai pas réussi à faire fonctionner l'une ou l'autre (la seconde fonctionne très lentement à cause de df.apply de toute façon).
Orig df
Date Offset
12/31/17 0
12/31/17 1
12/31/17 2
12/31/17 3
New df
Date Offset NewDate
12/31/17 0 12/31/17
12/31/17 1 1/31/18
12/31/17 2 2/28/18
12/31/17 3 3/31/18