Maison >développement back-end >Tutoriel Python >Comment incorporer les valeurs des lignes précédentes dans les calculs Pandas « appliquer » avec des valeurs dérivées ?

Comment incorporer les valeurs des lignes précédentes dans les calculs Pandas « appliquer » avec des valeurs dérivées ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-27 10:23:30416parcourir

How to Incorporate Previous Row Values into Pandas 'apply' Calculations with Derived Values?

Utiliser Pandas pour incorporer les valeurs des lignes précédentes dans les calculs « appliquer » avec des valeurs dérivées

Lorsque vous travaillez avec des trames de données dans Pandas, il est souvent nécessaire pour effectuer des calculs qui impliquent l’utilisation des valeurs des lignes précédentes. Cela peut être difficile lorsque la valeur précédente est également calculée dans la fonction « appliquer ».

Considérez le cadre de données 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

Pour calculer la colonne C, nous commençons par copier la valeur de D à la première ligne :

df.loc[0, 'C'] = df.loc[0, 'D']

Maintenant, pour les lignes suivantes, nous pouvons parcourir le dataframe et utiliser une boucle pour remplir les valeurs calculées pour la colonne C :

<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>

Cette boucle garantit que la valeur de C pour chaque ligne est déterminée par sa valeur précédente, ainsi que les valeurs correspondantes de A et B. La trame de données résultante ressemblera à ceci :

  Index_Date   A   B    C    D
0 2015-01-31  10  10   10   10
1 2015-02-01   2   3   23   22
2 2015-02-02  10  60  290  280

En suivant ceci approche, vous pouvez efficacement incorporer les valeurs des lignes précédentes dans les calculs « appliquer », même lorsque la valeur précédente est dérivée de la même fonction « appliquer ».

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn