Funktion in Python umwandeln, Pandas

Inhalt

Einführung

Die Verwandlung in Funktion Pandas (Python) es kann etwas schwer zu verstehen sein, besonders wenn es von a kommt Herausragend Hintergrund. Mal ehrlich, die meisten Datenwissenschaftler verwenden es nicht sofort auf ihrer Lernreise.

Aber die Transformationsfunktion von Pandas ist tatsächlich ein nützliches Werkzeug als Datenwissenschaftler!! Es ist eine leistungsstarke Funktion, auf die Sie sich beim Feature-Engineering in stützen können Felshaken.

Transform-Funktion-in-Python-6315934

Persönlich, Ich habe damit angefangen, als ich bei einem Hackathon Funktions-Engineering durchführen wollte, und ich war angenehm überrascht, wie schnell die Transform-Funktion funktionierte. Ich bin fest davon überzeugt, dass Sie davon profitieren werden, die Transform-Funktion zu kennen und zu verwenden und, Daher, Ich beschloss, in diesem Artikel über sie zu schreiben.

Um die Grundlagen von Python und Pandas für die Datenwissenschaft zu lernen, Schauen Sie sich diese beliebten Kurse an:

Inhaltsverzeichnis

  1. Was ist die Transformationsfunktion in Python??
  2. Warum ist die Transformationsfunktion wichtig?
  3. Apply vs. Transform-Funktion in Python

1. Was ist die Transformationsfunktion in Python??

Die Transform-Funktion von Python gibt einen selbst erstellten Datenrahmen mit transformierten Werten zurück, nachdem die in ihrem Parameter angegebene Funktion angewendet wurde. Dieser Datenrahmen hat die gleiche Länge wie der übergebene Datenrahmen.

Das war viel zu verkraften, Also lass es mich mit einem Beispiel aufschlüsseln.

Nehmen wir an, wir wollen uns vermehren 10 für jedes Element in einem Datenrahmen:

Der ursprüngliche Datenrahmen sieht so aus:

Tabelle4-1392985

Dies ist der Datenrahmen, den wir erhalten, nachdem wir die Transform-Funktion von Python angewendet haben:

Tabelle 5-3752771

2. Warum ist die Transformationsfunktion von Python wichtig??

Die Transformation ist während der Merkmalsextraktion nützlich. Wie der Name schon sagt, wir extrahieren neue Funktionen aus bestehenden. Lassen Sie uns die Bedeutung der Transformationsfunktion anhand eines Beispiels verstehen.

Hier, wir haben einen Datensatz über ein Kaufhaus:

Tabelle1-9819946

Wir können sehen, dass jeder Benutzer mehrere Produkte mit unterschiedlichen Kaufbeträgen gekauft hat. Wir würden gerne wissen, wie hoch der durchschnittliche Kaufbetrag jedes Benutzers ist. Dies hilft uns, ein neues Merkmal zu erstellen, damit das Modell die Beziehung besser versteht.

Dies ist die gewünschte Ausgabe:

Tabelle3-1593014

Dafür gibt es mehrere Ansätze:

  1. Verwenden von Groupby gefolgt von Merge ()
  2. Transformationsfunktionsansatz

Beides werde ich in diesem Artikel umsetzen.

Methode 1: Nutzung von Groupby gefolgt von Merge ():

Der erste Ansatz ist die Verwendung von gruppiere nach um die Daten hinzuzufügen, Fügen Sie diese Daten dann mit der Zusammenführungsfunktion wieder in den ursprünglichen Datenrahmen ein (). Lass es uns tun!

Paso 1: die Bibliotheken importieren und den Datensatz lesen

Paso 2: Verwenden Sie groupby, um das Aggregat zu berechnen

Hier ist eine bildliche Darstellung, wie gruppiere nach sammelt den Durchschnitt jedes Benutzers:

transfrom-1929087

Paso 3: mit der Zusammenführungsfunktion () rekombinieren

Jetzt der schwierige Teil. Wie kombinieren wir diese Daten mit dem ursprünglichen Datenrahmen?? Wir werden die Zusammenführungsfunktion verwenden () Für diese Aufgabe. Sie können hier und hier mehr über Joins und Merges in Python mit Pandas lesen, beziehungsweise.

Unser originaler Datenrahmen sieht so aus:

Tabelle3-1593014

Das macht unseren Job auf jeden Fall. Aber es ist ein mehrstufiger Prozess und erfordert zusätzlichen Code, um die Daten in der von uns benötigten Form zu erhalten. Dieser mehrstufige Prozess kann Ressourcen verbrauchen auf Hackaton wo Zeit eine große Einschränkung ist.

Wir können dies effektiv mit der Transformationsfunktion in lösen Pandas.

Fokus 2: Verwenden der Python-Transformationsfunktion

Dies ist eine wichtige Funktion, um Funktionen zu erstellen. Creme, Es kann die Spielregeln ändern!

Die Transformationsfunktion behält nach der Transformation die gleiche Anzahl von Elementen wie das ursprüngliche Dataset bei. Wir werden uns auf einen super einfachen Linienschritt stützen, indem wir groupby gefolgt von einer Transformation verwenden:

Die bildliche Darstellung ist wie folgt:

transfrom2-4962408

Es könnte nicht einfacher sein, Wahrheit? Der ursprüngliche Datenrahmen sieht im letzten Schritt ähnlich aus wie der vorherige..

Die Zeit, die die Transformationsfunktion benötigt, um die obige Operation durchzuführen, ist in einem großen Datenrahmen vergleichsweise geringer. Das ist ein wesentlicher Vorteil gegenüber dem ersten Ansatz, den wir verwendet haben..

Lassen Sie mich die Transform-Funktion mit Pandas in Python demonstrieren.

Angenommen, wir erstellen einen zufälligen Datensatz von 1,000,000 von Reihen und 3 Säulen. Jetzt berechnen wir den Mittelwert einer Spalte basierend auf groupby (ähnlich dem Mittelwert aller Käufe basierend auf groupby user_id).

Paso 1: Importieren Sie die Bibliotheken

Paso 2: Erstellen Sie den Datenrahmen

Paso 3: Verwenden Sie das Zusammenführungsverfahren

Produktion:
Zeit1-5823220

Paso 4: Verwenden Sie die Transformationsfunktion

Produktion:
Zeit2-9904693

Dies zeigt deutlich, dass die Transformationsfunktion viel schneller ist als der vorherige Ansatz. Gut erledigt!

3. Unterschied zwischen Apply- und Transform-Funktion in Python

Jetzt, Nehmen wir an, wir möchten eine neue Spalte basierend auf den Werten einer anderen Spalte erstellen. Dies ist der Datenrahmen, mit dem wir arbeiten:

Tabelle4-1392985

Mit der Apply-Funktion:

So sieht die Ausgabe mit der Apply-Funktion aus:

tbal6-6467099

Die App-Funktion sendet eine vollständige Kopie des Datenrahmens an die Arbeit, damit wir alle Zeilen oder Spalten gleichzeitig bearbeiten können.

Mit der Transform-Funktion:

Diese Funktion ist in der Transform-Funktion nicht möglich. Dies manipuliert nur eine einzelne Zeile oder Spalte basierend auf dem Achsenwert und manipuliert nicht einen ganzen Datenrahmen. Deswegen, wir können die Funktion Apply oder Transform nach Bedarf verwenden.

Abschließende Anmerkungen

Die Transform-Funktion ist sehr nützlich, wenn ich Zeilen oder Spalten schnell manipulieren möchte. Wie ich bereits erwähnte, Dies ist besonders bei Hackathons nützlich, wenn die Zeit knapp ist.

Wenn Sie auf weitere Pandas-Funktionen stoßen, Kommentiere und ich werde gerne lernen und teilen!

Nimm an Wettbewerben teil, um deine Fähigkeiten zu zeigen. Das ist ein toller Ausgangspunkt: Verkaufsprojekt Black Friday.

Anmelden kannst du dich bei der Plataforma DataHack Und nimm an coolen Wettbewerben teil und messe dich mit den besten Data-Science-Experten!!

Abonniere unseren Newsletter

Wir senden Ihnen keine SPAM-Mail. Wir hassen es genauso wie du.

Datenlautsprecher