Heim > Artikel > Backend-Entwicklung > Wie berechnet man eine Spalte in einem DataFrame anhand vorheriger Zeilenwerte mit „apply()“?
In Pandas wird die Funktion apply() üblicherweise verwendet, um eine Funktion auf jede Zeile eines DataFrame anzuwenden . Es treten jedoch Herausforderungen auf, wenn der vorherige Zeilenwert auch mit derselben apply()-Methode berechnet wird.
Beachten Sie den folgenden DataFrame:
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 |
Das Ziel besteht darin, Spalte C abzuleiten:
Um dies zu erreichen, legen wir zunächst den Anfangswert von C für den 31.01.2015 fest:
<code class="python">df.loc[0, 'C'] = df.loc[0, 'D']</code>
Dann durchlaufen wir die verbleibenden Zeilen und aktualisieren die C-Werte mit den gewünschten Berechnungen:
<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>
Der endgültige DataFrame nach diesen Operationen:
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 |
Das obige ist der detaillierte Inhalt vonWie berechnet man eine Spalte in einem DataFrame anhand vorheriger Zeilenwerte mit „apply()“?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!