Application de calculs avec les valeurs des lignes précédentes dans Pandas
Dans Pandas, relever le défi d'incorporer les valeurs des lignes précédentes dans les calculs lors de la manipulation des données n'est pas rare. Un de ces scénarios implique la nécessité d'utiliser la valeur de la ligne précédente lors du calcul d'une nouvelle colonne à l'aide de la fonction apply().
Considérez un scénario dans lequel nous avons un DataFrame avec la structure suivante :
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
Notre objectif est de remplir la colonne « C » avec des valeurs calculées. Pour la première ligne, « C » est dérivé de « D ». Pour les lignes suivantes, « C » est calculé en multipliant la valeur « C » de la ligne précédente par la valeur « A » de la ligne actuelle et en ajoutant la valeur « B ».
Approche
Pour y parvenir, nous utilisons une combinaison d'initialisation et d'itération dans la fonction apply().
<code class="python">df.loc[0, 'C'] = df.loc[0, 'D']</code>
<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>
Résultat
Cette approche remplira efficacement la colonne « C » avec les valeurs calculées souhaitées :
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 2015-02-03 10 100 3000 250
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!