Maison > Article > développement back-end > Comment calculer une colonne dans un DataFrame en utilisant les valeurs des lignes précédentes avec « apply() » ?
Dans les pandas, la fonction apply() est couramment utilisée pour appliquer une fonction à chaque ligne d'un DataFrame . Cependant, des défis 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 le DataFrame suivant :
Index_Date | A | B | C | D |
---|---|---|---|---|
2015-01-31 | 10 | 10 | NaN | 10 |
2015-02-01 | 2 | 3 | NaN | 22 |
2015-02-02 | 10 | 60 | NaN | 280 |
2015-02-03 | 10 | 100 | NaN | 250 |
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 :
<code class="python">df.loc[0, 'C'] = df.loc[0, 'D']</code>
Ensuite, nous parcourons les lignes restantes et mettons à jour les valeurs C avec les calculs souhaités :
<code class="python">for i in range(1, len(df)): df.loc[i, 'C'] = df.loc[i-1, 'C'] * df.loc[i, 'A'] + df.loc[i, 'B']</code>
Le DataFrame final après ces opérations :
Index_Date | A | B | C | D |
---|---|---|---|---|
2015-01-31 | 10 | 10 | 10 | 10 |
2015-02-01 | 2 | 3 | 23 | 22 |
2015-02-02 | 10 | 60 | 290 | 280 |
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!