Maison > développement back-end > Tutoriel Python > Comment calculer une colonne basée sur les valeurs des lignes précédentes dans Pandas à l'aide de la fonction « apply() » ?

Comment calculer une colonne basée sur les valeurs des lignes précédentes dans Pandas à l'aide de la fonction « apply() » ?

Mary-Kate Olsen
Libérer: 2024-10-29 20:58:29
original
745 Les gens l'ont consulté

How to Calculate a Column Based on Previous Row Values in Pandas Using the `apply()` Function?

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
Copier après la connexion

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().

  1. Initialisez la valeur « C » pour la première ligne en utilisant la valeur de « D » .
<code class="python">df.loc[0, 'C'] = df.loc[0, 'D']</code>
Copier après la connexion
  1. Parcourez les lignes restantes et calculez les valeurs « 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>
Copier après la connexion

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
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal