Heim  >  Artikel  >  Backend-Entwicklung  >  Wie berechnet man Werte basierend auf vorherigen Zeilendaten mithilfe der Apply-Funktion von Pandas?

Wie berechnet man Werte basierend auf vorherigen Zeilendaten mithilfe der Apply-Funktion von Pandas?

DDD
DDDOriginal
2024-10-28 03:40:01149Durchsuche

How to Calculate Values Based on Previous Row Data Using pandas' apply Function?

Verwenden der Apply-Funktion von Pandas zum Berechnen von Werten basierend auf vorherigen Zeilenwerten

In Pandas ermöglicht die Apply-Funktion die Anwendung benutzerdefinierter Funktionen zu jeder Zeile eines DataFrame. Dies kann sich als besonders nützlich erweisen, wenn für Berechnungen Referenzwerte aus vorherigen Zeilen innerhalb des DataFrame erforderlich sind.

Stellen Sie sich das folgende Szenario vor: Wir haben einen DataFrame mit den Spalten A, B, C und D. Wir müssen Spalte C berechnen die erste Zeile als Wert der Spalte D. Anschließend wird C für nachfolgende Zeilen berechnet, indem der C-Wert der vorherigen Zeile mit dem A der aktuellen Zeile multipliziert und der B der aktuellen Zeile addiert wird.

Trotz Versuchen mit Anwenden und Verschieben, Wir stoßen auf einen entscheidenden Fehler, da die Berechnung von C auch innerhalb der Apply-Funktion auftritt. Um dieses Problem zu lösen, können wir den folgenden Ansatz verfolgen:

  1. Erste Zeile explizit berechnen:

    • Weisen Sie den Wert von D zu erste Zeile von C mit df.loc[0, 'C'] = df.loc[0, 'D'].
  2. Iterieren und berechnen Sie nachfolgende Zeilen :

    • Verwenden Sie eine for-Schleife, um die verbleibenden Zeilen zu durchlaufen und C für jede Zeile wie folgt zu berechnen:

      • df.loc[i, 'C'] = df.loc[i-1, 'C'] * df.loc[i, 'A'] df.loc[i, 'B']

Durch diesen Ansatz stellen wir sicher, dass C für jede Zeile verfügbar ist, bevor wir die Werte der nachfolgenden Zeilen berechnen. Der resultierende DataFrame wird an der gewünschten Ausgabe ausgerichtet:

  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

Das obige ist der detaillierte Inhalt vonWie berechnet man Werte basierend auf vorherigen Zeilendaten mithilfe der Apply-Funktion von Pandas?. 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