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!