Was sind Lambda-Funktionen?? Lambda-Funktion in Python

Inhalt

Einführung

Zu Schleifen sind die Antithese zur effizienten Programmierung. Sie werden immer noch benötigt und sind die ersten bedingten Schleifen, die man lernt Python-Anfänger Aber meiner Meinung nach, Sie lassen sehr zu wünschen übrig.

Sind von Schleifen können umständlich sein und unseren Python-Code sperrig und unordentlich machen. Aber warte, Was ist die Problemumgehung? Lambda-Funktionen in Python!

Lambda-Funktionen geben einem Datenwissenschaftler einen doppelten Schub. Sie können saubereren Python-Code schreiben und Ihre maschinellen Lernaufgaben beschleunigen. Der Trick liegt in der Beherrschung der Lambda-Funktionen und hier können Anfänger stolpern.

Featured_image-1-1320972

Anfänglich, Ich fand auch die Lambda-Funktionen schwer zu verstehen. Sie sind kurzlebig, aber sie mögen als Neuankömmlinge verwirrend erscheinen. Aber sobald ich verstanden habe, wie man sie benutzt, Felshaken, Ich fand sie sehr einfach und mächtig. Und ich bin sicher, Sie werden es am Ende dieses Tutorials auch tun.

Dann, In diesem Artikel, Sie erfahren mehr über die Leistungsfähigkeit von Lambda-Funktionen in Python und deren Verwendung. Lasst uns beginnen!

Notiz: Neu bei Python? Ich empfehle dringend, die folgenden kostenlosen Kurse zu besuchen, um sich auf den neuesten Stand zu bringen:

Was sind Lambda-Funktionen??

Eine Lambda-Funktion ist eine kleine Funktion, die einen einzelnen Ausdruck enthält. Lambda-Funktionen können auch als anonyme Funktionen fungieren, wenn sie keine Namen erfordern. Sie sind sehr nützlich, wenn wir kleine Aufgaben mit weniger Code ausführen müssen.

Wir können auch Lambda-Funktionen verwenden, wenn wir eine kleine Funktion an eine andere Funktion übergeben müssen. Mach dir keine Sorgen, Wir werden dies bald ausführlich behandeln, wenn wir sehen, wie man Lambda-Funktionen in Python verwendet.

Lambda-Funktionen wurden erstmals in den 1990er Jahren von Alonzo Church eingeführt. 1930. Herr. Church ist bekannt für den Lambda-Kalkül und die Church-Turing-These.

Lambda-Funktionen sind nützlich und werden in vielen Programmiersprachen verwendet, aber hier werden wir uns darauf konzentrieren, sie in Python zu verwenden. Und Python, Lambda-Funktionen haben die folgende Syntax:

Lambda-6573172

Lambda-Funktionen bestehen aus drei Teilen:

  • Stichwort
  • Variable / gebundenes Argument, Ja
  • Körper oder Ausdruck

Das Schlüsselwort ist erforderlich und muss a . sein Lambda, während sich die Argumente und der Text je nach Bedarf ändern können. Sie fragen sich sicher, warum Sie sich für Lambda-Funktionen entscheiden sollten, wenn Sie andere reguläre Funktionen haben. Faire Frage, lass mich das erweitern.

Lamba-Funktionsvergleich mit regulären Funktionen

Lambda2-300x119-4415335

Lambda-Funktionen werden durch das Schlüsselwort . definiert Lambda. Sie können beliebig viele Argumente haben, aber nur ein ausdruck. Una función lambda no puede contener declaraciones y devuelve un objeto de función que se puede asignar a cualquier Variable. Sie werden im Allgemeinen für einzeilige Ausdrücke verwendet.

Regelmäßige Funktionen werden mit dem . erstellt def Stichwort. Sie können beliebig viele Argumente und beliebig viele Ausdrücke haben. Sie können eine beliebige Deklaration enthalten und werden im Allgemeinen für große Codeblöcke verwendet.

IIFE mit Lambda-Funktionen

IIFE sind sofort aufgerufene Funktionsausdrücke. Dies sind Funktionen, die ausgeführt werden, sobald sie erstellt wurden. IIFE erfordern keinen expliziten Aufruf, um die Funktion aufzurufen. Und Python, IIFEs können mit der Lambda-Funktion erstellt werden.

Hier, Ich habe ein IIFE erstellt, das den Würfel einer Zahl zurückgibt:

(Lambda x: x*x*x)(10)

Lambda10-4345086

Beeindruckend!

Lambda-Funktionsanwendung mit verschiedenen Funktionen

Zeit für Python! Schalten Sie Ihr Jupyter Notebook ein und kommen wir zur Sache.

Hier, Ich habe einen zufälligen Datensatz erstellt, der Informationen über eine Familie von enthält 5 Leute mit ihrem Ausweis, Namen, Alter und Einkommen pro Monat. Ich werde diesen Datenrahmen verwenden, um Ihnen zu zeigen, wie Sie Lambda-Funktionen mit verschiedenen Funktionen in einem Datenrahmen in Python anwenden.

df=pd.DataFrame({
    'Ich würde':[1,2,3,4,5],
    'Name':['Jeremy','Frank','Janet','Ryan','Maria'],
    'Alter':[20,25,15,10,30],
    'Einkommen':[4000,7000,200,0,10000]
})

Lambda3-9561560

Lambda mit Apply

Nehmen wir an, wir haben einen Fehler in der Altersvariablen. Wir registrieren Altersgruppen mit einer Differenz von 3 Jahre. Dann, um diesen Fehler aus dem Pandas-Datenrahmen zu entfernen, wir müssen zum Alter jeder Person drei Jahre addieren. Wir können dies mit der Anfrage() lauf weiter Pandas.

Anfrage() Die Funktion ruft die Lambda-Funktion auf und wendet sie auf jede Zeile oder Spalte im Datenrahmen an und gibt eine modifizierte Kopie des Datenrahmens zurück:

df['Alter']=df.übernehmen(Lambda x: x['Alter']+3,Achse=1)

Lambda4-6330206

Wir können die nutzen Anfrage() Funktion zum Anwenden der Lambda-Funktion auf Zeilen und Spalten eines Datenrahmens. Wenn er Achse Argument in der Anfrage() Funktion es 0, also wird die Lambda-Funktion auf jede Spalte angewendet, und es ist 1, die Funktion wird auf jede Zeile angewendet.

Anfrage() Die Funktion kann auch direkt auf eine Pandas-Serie angewendet werden:

df['Alter']=df['Alter'].anwenden(Lambda x: x+3)

Lambda5-2448911

Hier, Sie können sehen, dass wir mit verschiedenen Methoden die gleichen Ergebnisse erzielt haben.

Lambda mit Filter

Jetzt, Mal sehen, wie viele dieser Leute mehr haben als 18 Jahre. Wir können dies mit der Filter() Funktion. das Filter() Die Funktion nimmt eine Lambda-Funktion und eine Pandas-Reihe und wendet die Lambda-Funktion auf die Reihe an und filtert die Daten.

Dies gibt eine Folge von zurück Sicher Ja Gefälscht, womit wir die Daten filtern. Deswegen, die Eingabegröße des Karte() Die Funktion ist immer größer als die Ausgabegröße.

aufführen(Filter(Lambda x: x>18,df['Alter']))

Lambda6-9676852

Lambda mit Karte

Kann mit der folgenden Aussage zusammenhängen. 🙂 Es ist Leistungsbewertungszeit und das Einkommen aller Mitarbeiter steigt um 20%. Das bedeutet, dass wir das Gehalt jeder Person um erhöhen müssen 20% in unserem Pandas-Datenrahmen.

Wir können dies mit der Karte() Funktion. Dies Karte() die Funktion bildet die Reihe entsprechend der Eingabekorrespondenz ab. Es ist sehr nützlich, wenn wir eine Reihe durch andere Werte ersetzen müssen. In Karte() Funktionen, die Größe des Einlasses entspricht der Größe des Auslasses.

df['Einkommen']=liste(Karte(Lambda x: int(x+x*0,2),df['Einkommen']))

Lambda7-6345895

Lambda mit Reduzieren

Jetzt, mal sehen wir uns das Gesamteinkommen der Familie an. Um dies zu berechnen, wir können das gebrauchen reduzieren() Funktion in Python. Es wird verwendet, um eine bestimmte Funktion auf die Liste der Elemente in der Sequenz anzuwenden. das reduzieren() Die Funktion ist in der definiert ‚Funktools‘ Modul.

Um die zu verwenden reduzieren() Funktion, wir müssen die importieren Funktools Modul zuerst:

Funktools importieren
funktools.reduzieren(Lambda a,B: a+b,df['Einkommen'])

lambda8-6393745

lambda11-e1582548201147-9461040

reduzieren() Die Funktion wendet die Lambda-Funktion auf die ersten beiden Elemente des Strings an und gibt das Ergebnis zurück. Später, speichert dieses Ergebnis und wendet erneut dieselbe Lambda-Funktion auf das Ergebnis und das nächste Element in der Reihe an. Deswegen, reduziere die Reihe auf einen einzigen Wert.

Notiz: Lambda-Funktionen in reduzieren() kann nicht mehr als zwei Argumente annehmen.

Bedingte Deklarationen mit Lambda-Funktionen

Lambda-Funktionen unterstützen auch bedingte Deklarationen, como wenn..sonst. Dies macht Lambda-Funktionen sehr mächtig.

Digamos que en el marco de datos de la familia tenemos que categorizar a las personas enAdultos‘ Ö ‚Niños‘. Dafür, wir können einfach die Lambda-Funktion auf unseren Datenrahmen anwenden:

df['Kategorie']=df['Alter'].anwenden(Lambda x: 'Erwachsen', wenn x>=18 sonst 'Kind')

Lambda9-300x195-5941193

Hier, Sie können sehen, dass Ryan das einzige Kind in dieser Familie ist und der Rest Erwachsene sind. Das war nicht so schwer, Wahrheit?

Was kommt als nächstes?

Lambda-Funktionen sind sehr nützlich, wenn Sie mit viel iterativem Code arbeiten. Sie wirken komplex, wie ich es verstehe, aber ich bin sicher, dass Sie seine Bedeutung in diesem Tutorial verstanden haben.

Teilen Sie diesen Artikel und kommentieren Sie unten, falls Sie Fragen oder Kommentare haben. Hier, Ich habe einige Blogs und vertiefende Kurse zu Data Science und Python aufgelistet:

Kurse:

Blogs:

Abonniere unseren Newsletter

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