Heim >Backend-Entwicklung >Python-Tutorial >Wie berechnet man eine Spalte basierend auf vorherigen Zeilenwerten in Pandas mithilfe der Funktion „apply()'?
Anwenden von Berechnungen mit Werten vorheriger Zeilen in Pandas
In Pandas besteht die Herausforderung, bei der Datenmanipulation frühere Zeilenwerte in Berechnungen einzubeziehen, nicht ungewöhnlich. Ein solches Szenario beinhaltet die Notwendigkeit, den vorherigen Zeilenwert zu verwenden, wenn eine neue Spalte mit der Funktion apply() berechnet wird.
Stellen Sie sich ein Szenario vor, in dem wir einen DataFrame mit der folgenden Struktur haben:
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
Unser Ziel ist es, die Spalte „C“ mit berechneten Werten zu füllen. Für die erste Zeile wird „C“ von „D“ abgeleitet. Für nachfolgende Zeilen wird „C“ berechnet, indem der „C“-Wert der vorherigen Zeile mit dem „A“-Wert für die aktuelle Zeile multipliziert und der „B“-Wert addiert wird.
Ansatz
Um dies zu erreichen, verwenden wir eine Kombination aus Initialisierung und Iteration innerhalb der Funktion apply().
<code class="python">df.loc[0, 'C'] = df.loc[0, 'D']</code>
<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>
Ergebnis
Dieser Ansatz füllt die Spalte „C“ effektiv mit den gewünschten berechneten Werten:
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
Das obige ist der detaillierte Inhalt vonWie berechnet man eine Spalte basierend auf vorherigen Zeilenwerten in Pandas mithilfe der Funktion „apply()'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!