Heim  >  Artikel  >  Backend-Entwicklung  >  Pandas-Fähigkeiten: Detaillierte Erläuterung der Apply- und Applymap-Methoden in DataFrame

Pandas-Fähigkeiten: Detaillierte Erläuterung der Apply- und Applymap-Methoden in DataFrame

coldplay.xixi
coldplay.xixinach vorne
2020-09-17 16:49:023130Durchsuche

Pandas-Fähigkeiten: Detaillierte Erläuterung der Apply- und Applymap-Methoden in DataFrame

Verwandte Lernempfehlungen: Python-Video-Tutorial

Heute ist der fünfte Artikel zum Thema Pandas-Datenverarbeitung. Sprechen wir über einige fortgeschrittene Operationen von Pandas.

Im vorherigen Artikel haben wir einige Berechnungsmethoden für Panaden vorgestellt, z. B. die vier arithmetischen Operationen zweier Datenrahmen und die Methode zum Füllen von Null im Datenrahmen. Im heutigen Artikel werden wir über den Broadcast-Mechanismus im Datenrahmen und die Verwendung der Apply-Funktion sprechen.

Dataframe-Broadcasting

Broadcasting-MechanismusWir sind damit eigentlich nicht unbekannt. Wir haben Broadcasting im vorherigen Sonderartikel zur Einführung von Numpy vorgestellt. Wenn wir mit zwei Arrays mit inkonsistenten Größen arbeiten, füllt das System vor der Berechnung automatisch das eine mit der kleineren Dimension, damit es mit dem anderen übereinstimmt.

Wenn wir beispielsweise ein eindimensionales Array von einem zweidimensionalen Array subtrahieren, erweitert Numpy zunächst das einstellige Array auf zwei Dimensionen und führt dann die Subtraktionsoperation durch. Es sieht so aus, als ob jede Zeile des zweidimensionalen Arrays von diesem eindimensionalen Array subtrahiert wird. Es versteht sich, dass wir den Vorgang des Subtrahierens dieses eindimensionalen Arrays auf jede Zeile oder Spalte des zweidimensionalen Arrays übertragen.

Im obigen Beispiel haben wir ein Numpy-Array erstellt und dann dessen erste Zeile subtrahiert. Wenn wir die Endergebnisse vergleichen, werden wir feststellen, dass von jeder Zeile im arr-Array die erste Zeile subtrahiert wird.

Derselbe Vorgang kann auch für den Datenrahmen ausgeführt werden.

Natürlich können wir auch an eine bestimmte Spalte senden, aber der Broadcast-Mechanismus der vier arithmetischen Operationen des Datenrahmens wird standardmäßig auf Zeilen angewendet. Wenn wir ihn auf Spalten verwenden möchten, müssen wir arithmetische Operationen verwenden und angeben die Achse, die wir anpassen möchten.

Funktion und Zuordnung

Ein weiterer Vorteil von Pandas ist, dass es mit einigen Berechnungsmethoden und Funktionen in Numpy kompatibel ist, sodass wir einige Funktionen auch in Numpy On verwenden können DataFrame erweitert die Verwendungs- und Berechnungsmethoden erheblich.

Wenn wir beispielsweise alle Elemente im DataFrame in ein Quadrat umwandeln möchten, können wir dies ganz einfach mit der Quadratmethode von Numpy tun:

Wir können den DataFrame als Parameter der Numpy-Funktion übergeben, aber Wenn wir möchten, was soll ich tun, wenn ich selbst eine Methode definieren und auf DataFrame anwenden möchte?

Wir können dies leicht mit der

Apply-Methode erreichen. Die Apply-Methode ähnelt in gewisser Weise der nativen Map-Methode von Python, die eine Zuordnungsberechnung für jedes Element im DataFrame durchführen kann. Wir müssen nur die Methode, die wir auf den DataFrame anwenden möchten, in der Apply-Methode übergeben, was bedeutet, dass der akzeptierte Parameter eine Funktion ist, was eine sehr typische funktionale Programmieranwendung ist.

Wenn wir beispielsweise den DataFrame quadrieren möchten, können wir auch die Funktion np.square als Parameter übergeben.

Zusätzlich zur

Apply-Methode kann sie auf einen gesamten DataFrame angewendet werden, wir können sie auch auf eine bestimmte Zeile oder eine bestimmte Spalte oder einen bestimmten Teil anwenden. Die Anwendungsmethode ist dieselbe. Beispielsweise können wir die Quadratmethode auf eine bestimmte Zeile und eine bestimmte Spalte im DataFrame anwenden.

Darüber hinaus ist der Umfang der Funktion in apply nicht auf Elemente beschränkt. Wir können auch Funktionen schreiben, die auf eine Zeile oder eine Spalte wirken. Wenn wir beispielsweise den Maximalwert jeder Spalte im DataFrame berechnen möchten, können wir so schreiben:

Das x in dieser anonymen Funktion ist tatsächlich eine Serie, daher ist das Maximum hier die Max-Methode das kommt mit der Serie. Mit anderen Worten, der Geltungsbereich von „apply“ ist „Serie“. Obwohl der Endeffekt darin besteht, dass jedes Element geändert wird, ist der Geltungsbereich von „apply“ nicht das Element, sondern die Serie. Wir wenden Zeilen- oder Spaltenoperationen an, die Änderungen an jedem Element vornehmen. In ähnlicher Weise können wir das Anwendungsobjekt von apply auch auf Zeilen beschränken. Wir können auch axis='columns' übergeben oder axis=1 angeben Dasselbe. .

Darüber hinaus muss das von apply zurückgegebene Ergebnis kein Skalar sein, es kann auch eine Liste oder Reihe sein, die aus mehreren Werten besteht. Tatsächlich sind die beiden gleich, denn selbst wenn eine Liste zurückgegeben wird , wird es in eine Serie umgewandelt.

Abschließend stellen wir noch applymap vor, eine
Karte auf Elementebene

. Wir können damit jedes Element im DataFrame bedienen. Wir können es beispielsweise verwenden, um das Datenformat in DataFrame zu konvertieren.

Der Grund, warum wir es „Applymap“ anstelle von „Map“ nennen, liegt darin, dass die Series-Methode bereits eine Karte enthält. Daher wurde „Applymap“ erstellt, um sie zu unterscheiden.

Bitte beachten Sie hier, dass ein Fehler gemeldet wird, wenn Sie applymap im obigen Code in apply ändern. Der Grund für den Fehler ist ebenfalls sehr einfach, da der Geltungsbereich der Apply-Methode nicht das Element, sondern die Serie ist und die Serie einen solchen Vorgang nicht unterstützt.

Zusammenfassung

Der heutige Artikel stellt hauptsächlich die Verwendung von Apply und Applymap in Pandas vor. Diese beiden Methoden werden in unserem täglichen Betrieb von DataFrame-Daten sehr häufig verwendet . Level-API. Wenn Sie die Anwendung der nativen Kartenmethode in Python verstehen, können Sie den heutigen Artikel problemlos verstehen, wenn Sie sich damit auskennen.

Wenn Sie mehr über das Programmieren erfahren möchten, achten Sie bitte auf die Rubrik „PHP-Schulung“!

Das obige ist der detaillierte Inhalt vonPandas-Fähigkeiten: Detaillierte Erläuterung der Apply- und Applymap-Methoden in DataFrame. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:juejin.im. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen