Rolling () ist eine der vielen hilfreichen Funktionen des Pandas -Toolkit. Um eine bestimmte Funktion mit einem Roll -Fenster auf die gesamten Daten anzuwenden, haben wir eine Methode „Rolling ().anwenden()".
Dies kann sowohl für den Datenrahmen als auch für die Serie verwendet werden. Um diese Funktion aufzurufen, müssen wir dieser Syntax folgen:
In diesem Artikel wird die praktische Ausführung dieser Funktion mit zwei Techniken in Python -Programmen durchgeführt.
Beispiel 1: Verwendung von Pandas Rolling ().anwenden () Funktionen zur Berechnung des Medianes eines Pandas -Datenframe
Für diese Illustration werden wir die Pandas „df anstellen.rolling ().anwenden () ”Methode zur Anwendung einer Methode auf den gesamten Datenrahmen mit dem Roll -Fenster. Wir werden direkt zur Implementierung dieses Konzepts übergehen.
Die Zusammenstellung des Python -Programms erfolgt in einem Tool, das mit unserem System kompatibel ist. Es bietet die beste von Python unterstützte Umgebung, sodass wir im Ausführungsprozess nicht stecken bleiben werden. Das, das wir ausgewählt haben, ist das "Spyder" -Tool. Wir werden dieses Tool verwenden, um unsere Beispielprogramme in diesem Tutorial zusammenzustellen. Wir haben gerade das Tool gestartet, um daran zu arbeiten, und es führt Sie direkt in die Arbeitsumgebung. Wir würden anfangen, das Skript darauf zu tippen.
Jetzt werden die Hauptanforderungen in diese Datei geladen. Also haben wir die beiden erforderlichen Pythonmodule importiert. Dies sind "Pandas" und "Numpy". Die Pandas -Bibliothek wird importiert, da wir mit dieser Bibliothek einen Datenrahmen erstellen, und das "Rolling ().apply () ”Die Funktion gehört zu demselben Toolkit. Die zweite Bibliothek, Numpy, ist auf eine Methode geladen; Daraus wird verwendet, um einen mathematischen Ausdruck zu berechnen. Diese beiden Bibliotheken wurden also in das Programm eingeführt. Zusätzlich wurden Abkürzungen wie „PD“ bzw. „NP“ für sie festgelegt.
Wenn wir eine Funktion aus der Pandas -Bibliothek verwenden, müssen wir einen Pandas -Datenframe erstellen. Die Methode zur Erstellung von Datenframe lautet „PD.DataFrame () ”. Wenn wir diese Funktion ausüben, wird das Python -Programm angewiesen, den Daten zur Erzeugung von Datenframe zu beginnen. So haben wir die „PD“ angerufen.DataFrame () ”Methode und angegebene angegebene Werte für jede Spalte, die darin angehängt werden mussten. Wir möchten, dass dieser Datenrahmen vier Spalten hat. Daher nannten wir sie "Ost", "West", "North" und "South".
Der Datentyp für alle Spalten wird gleich gehalten, nämlich ganzzahlig dTYPE, und die Größe der Spalten beträgt 8. Die für die Spalte "Ost" identifizierten Werte sind "1, 2, 3, 4, 5, 6, 7 und 8". Der „West“ enthält Werte „0, 1, 2, 3, 4, 5, 6 und 7“. Die in der Spalte „North“ gespeicherten Daten sind "9, 8, 7, 6, 5, 4, 3 und 2". Und die letzte Spalte „South“ enthält die Werte „3, 5, 7, 9, 6, 4, 2 und 8“. Ein DataFrame -Objekt, "Richtungen".
Wir müssen diesen Datenrahmen in Ansicht setzen. Dies kann mit der Python -Funktion "print ()" erfolgen. Diese Methode nimmt jede Art von Eingabe an, unabhängig davon. Also haben wir das "Richtung" -Datenframe -Objekt zum Drucken bereitgestellt.
Dies ist der resultierende Datenrahmen, den wir durch Ausführen des vorherigen Codes -Snippets erstellt haben.
Nun, um das „Rolling () zu berechnen.anwenden () ”In diesem Datenrahmen haben wir eine Funktion definiert. Das „DEF“ ist das Schlüsselwort, das eine Funktion definiert. Die Funktion, die wir erstellt haben, lautet: "ApplyRolling ():". Innerhalb dieser Methode ist eine andere Funktion definiert, die "median_estimation (i) ist:": ". Sie haben vielleicht festgestellt, dass wir geschrieben haben: „Ich“ zwischen den Zahnspangen dieser Funktion. Dieses „I“ wird für die Iterationen verwendet. Was wird es nun mit jeder Iteration durchführen?? In der folgenden Zeile haben wir es angegeben, uns eine Ausgabe des „NP) zurückzugeben.Median (i) ”Funktion.
Wie der Name ausweist. Jeder Wert wird durch „I“ ersetzt; Der Median wird für diesen bestimmten Wert geschätzt und das Ergebnis zurückgeben. Dann rufen Sie den „DF an.rolling ().anwenden () ”Methode. Der Name des Datenrahmens wird als "Anweisungen", die Funktion „rolling ()“ eingestellt, um das Rollfenster für drei Beobachtungen zu finden, und die Funktion „anwendbar ()“ wird mit der Funktion „Median_estimation“ ausgeübt. Die Ausgabe wird in der Variablen „Ergebnis“ aufbewahrt. Und dann haben wir diese Variable „Ergebnis“ an die Hauptfunktion zurückgegeben.
Daher kann dieser ganze Prozess zusammengefasst werden, wenn die Funktion „appectRolling ()“ beginnt und die Funktion „median_estimation ()“ zur iterativen Berechnung des Medians fragt. Dann erhält es in den DataFrame, berechnet das Roll -Fenster, wendet die Median -Methode an, um die Ausgabe zu generieren, und es geht aus der Hauptfunktion aus. Und "print ()" zeigt das Ergebnis aus der Funktion „ApplyRolling ()“.
Hier können wir sehen, dass die ersten drei Einträge NAN -Werte haben, da wir angegeben haben, um das Rollfenster für drei Beobachtungen zu schätzen, da sie keine weiteren Einträge über ihnen haben, um das Fenster zu vervollständigen, so dass sie leer sind. Aus dem vierten Eintrag wurde der Median für das Rollfenster berechnet. Der zurückgegebene Datentyp dieses Datenrahmens ist float.
Beispiel Nr. 2: Verwendung von Pandas Rolling.anwenden () Funktionen zur Berechnung der Summe einer PANDAS -Serie
Die zweite Technik, um diese Methode anzuwenden.
Wir haben die Pandas -Bibliothek zuerst in unsere Python -Umgebung importiert und „PD“ zu ihrem Alias im gesamten Programm gemacht. Dann haben wir uns auf die „PD) berufen.Serie () ”Funktion vom Pandas Toolkit zum Erstellen einer Pandas -Serie. Die "PD" ist die oben definierte Abkürzung der Pandas, und die "Serie" ist das Schlüsselwort zum Erstellen einer Serie. Wir haben ein Array von Werten für diese Funktion angegeben. Die Werte sind „11, 12, 13, 14, 15, 3, 7, 17, 9, 1, 21, 24 und 2“. Um diese Serie zu bewahren, haben wir ein Serienobjekt, "zufällig". Dieses „zufällige“ Objekt hält jetzt unsere Serie, also haben wir es an die Methode „Print ()“ übergeben, um seinen Inhalt am Terminal zu präsentieren.
Wenn wir die Option "Datei ausführen" drücken, wird unser Code ausgeführt. In der folgenden Snapshot können Sie die aktuell generierte Serie sehen.
Nach dem Drucken der Serie haben wir eine Funktion „Series_ra () definiert“. Jetzt werden die Hauptberechnungen in dieser Funktion durchgeführt. Innerhalb dieser Funktion haben wir eine andere Funktion definiert, bei der "compute_sum (j)" lautet. Sie können an seinem Etikett erraten, dass es die Summe erhält. Das „j“ hier fordert es an, diese Funktion iterativ auszuführen. Jede Iteration wird eingezogen und die Funktion „Summe (j)“ ausführen. Und geben dann die berechnete Summe für jeden Wert zurück.
Dann die “Serie.rolling ().apply () ”wird innerhalb der Funktion„ compute_sum () “aufgerufen. Es wird das Fenster für Find -Rolling für fünf Beobachtungen geschätzt und dann ihre Summe mit der Methode „anwenden ()“ berechnet. Die Ausgabe wird in der lokalen Variablen „Ergebnis“ erhalten und zur Hauptfunktion zurückgegeben. Zuletzt haben wir die Funktion "Series_ra ()" an die Methode "print ()" übergeben, um die endgültige Serie zu sehen.
Dies ist die ultimative Serie mit einer berechneten Summe in einem Rollfenster mit fünf Beobachtungen.
Abschluss
Das diskutierte Thema für diesen Artikel basierte auf den beiden Konzepten von Pandas, die "rolling () und" appect () "sind. Wir haben die Nutzung dieser Methode erläutert, indem wir Ihnen eine detaillierte Erklärung der praktischen Implementierung des „Rolling () erhalten haben.anwenden () ”Funktion. Dieses Tutorial enthielt zwei Ansätze zur Verwendung dieser Methode. Die erste Instanz sprach über die Anwendung einer medianen Funktion vom Numpy Toolkit auf das Rollfenster eines Pandas -Datenfreframe. Das zweite Beispiel gab uns die Idee, dieses Konzept in einer PANDAS -Serie zu implementieren. Also haben wir diese Funktion angewendet, indem wir die Summe im angegebenen Rollfenster der Serie berechnet haben. Sie können die Technik ausüben, die für Ihre Aufgabe machbarer ist.