Heim >Backend-Entwicklung >Python-Tutorial >Wie berechnet man eine Spalte basierend auf vorherigen Zeilenwerten in Pandas mithilfe der Funktion „apply()'?

Wie berechnet man eine Spalte basierend auf vorherigen Zeilenwerten in Pandas mithilfe der Funktion „apply()'?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-29 20:58:29743Durchsuche

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

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

  1. Initialisieren Sie den Wert „C“ für die erste Zeile mit dem Wert aus „D“. .
<code class="python">df.loc[0, 'C'] = df.loc[0, 'D']</code>
  1. Durchlaufen Sie die verbleibenden Zeilen und berechnen Sie die „C“-Werte:
<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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn