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.
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-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
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 VariableIn Statistik und Mathematik, ein "Variable" ist ein Symbol, das einen Wert darstellt, der sich ändern oder variieren kann. Es gibt verschiedene Arten von Variablen, und qualitativ, die nicht-numerische Eigenschaften beschreiben, und quantitative, numerische Größen darstellen. Variablen sind grundlegend in Experimenten und Studien, da sie die Analyse von Beziehungen und Mustern zwischen verschiedenen Elementen ermöglichen, das Verständnis komplexer Phänomene zu erleichtern..... 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)
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] })
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)
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)
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']))
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']))
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'])
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 en ‚Adultos‘ Ö ‚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')
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: