Dans les pandas, la fonction apply() est couramment utilisée pour appliquer une fonction à chaque ligne d'un DataFrame . Cependant, des problèmes surviennent lorsque la valeur de la ligne précédente est également calculée à l'aide de la même méthode apply().
Considérez les éléments suivants DataFrame :
Index_Date | A | B | C | D |
---|---|---|---|---|
2015-01-31 | 10 | 10 | NaN | 10 |
01/02/2015 | 2 | 3 | NaN | 22 |
2015-02-02 | 10 | 60 | NaN | 2 80 |
03/02/2015 | 10 | 100 | NaN | 250 |
Le L'objectif est de dériver la colonne C :
Pour y parvenir, nous définissons d'abord la valeur initiale de C pour le 31/01/2015 :
df.loc[0, 'C'] = df.loc[0, 'D']
Ensuite, nous parcourons le lignes restantes et mettez à jour les valeurs C avec les calculs souhaités :
for i in range(1, len(df)):
df.loc[i, 'C'] = df.loc[i-1, 'C'] * df.loc[i, 'A'] df.loc[i, 'B']
Le DataFrame final après ceux-ci opérations :
Index_Date | A | B | C | D |
---|---|---|---|---|
2015-01-31 | 10 | 10 | 10 | 1 0 |
01/02/2015 | 2 | 3 | 23 | 22 |
02/02/2015 | 10 | 60 | 290 | 280 |
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3