Application de calculs avec les valeurs de ligne précédentes dans Pandas
Dans Pandas, relever le défi d'incorporer les valeurs de ligne 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().
df.loc[0, 'C'] = df.loc[0, 'D']
for i in range(1, len(df)):
df.loc[i, 'C'] = df.loc[i - 1, 'C'] * df.loc[i, 'A'] df.loc[i, 'B']
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
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