Pandas Fall Wann

Pandas Fall Wann



Wenn eine Bedingung erfüllt oder erfüllt ist, liefert eine Case-Anweisung in der Pandas-Sprache eine Ausgabe oder gibt einen Wert zurück. Eine Case-Anweisung ermöglicht es, den Wert einer Variablen mit einem Bereich möglicher Werte zu vergleichen. Wenn in der case-Anweisung auf die Wertemenge verwiesen oder diese übergeben wird, wird jeder Wert innerhalb der Menge durch die Fälle oder Bedingungen innerhalb der Anweisung überprüft. Wir können auch die if-else-Anweisung verwenden, um dieselbe Operation auszuführen. Wenn eine bestimmte Bedingung wahr ist, bewirkt die if-else-Anweisung, dass ein Skript ausgeführt wird. Die if-else-Anweisung besagt, dass dies ausgeführt werden soll, wenn die Bedingung wahr ist, und dass dies ausgeführt werden soll, wenn dies nicht der Fall ist. In diesem Tutorial führen wir verschiedene Operationen durch, indem wir case-Anweisungen und if-else-Anweisungen verwenden.

Wie verwende ich die Pandas-Fallerklärung?

Case Statements können auf verschiedene Arten erstellt werden. Die Funktion NumPy where(), die die folgende grundlegende Syntax verwendet, ist die einfachste Möglichkeit, eine Case-Anweisung in einem Pandas DataFrame zu erstellen:

df [ 'Spaltenname' ] = np.wo ( Bedingung 1 , ‘Wert1’,
np.wo ( Bedingung zwei , ‘Wert2’,
np.wo ( Bedingung 3 , „Wert3“, „Wert4“ ) ) )







Die obige Anweisung überprüft jede Bedingung auf den Wert und generiert, wenn die Bedingung erfüllt ist, die Ausgabe oder gibt den Wert für die Bedingung zurück.



Beispiel Nr. 1: Pandas Case-Anweisung mit der Funktion where()

Lassen Sie uns zuerst einen Datenrahmen erstellen, damit wir unsere Case-Anweisung verwenden können. Um den Datenrahmen zu erstellen, importieren wir zunächst die Module numpy und pandas, damit wir ihre Funktionalitäten nutzen können. Der pd.Dataframe() wird verwendet, um unseren Datenrahmen zu erstellen.







Wir haben den „df“-Datenrahmen erstellt. Ein Python-Wörterbuch wird innerhalb der pd.DataFrame()-Funktionen als Argument mit Schlüsseln und Werten übergeben. Wir werden die Funktion print() verwenden, um unseren Datenrahmen anzuzeigen.



Im 'df'-Datenrahmen haben wir zwei Spalten „Name“ und „Markierungen“ mit Werten ['Ron', 'Tim', 'Anna', 'Jack', 'Rob', 'Lucy'] und [4, 6 , 8, 6, 9,10]. Angenommen, dass name die Spalten sind, in denen die Namen der Schüler gespeichert sind, und die Spalte „marks“ die Punktzahl eines kürzlich durchgeführten Tests speichert. Jetzt schreiben wir eine Case-Anweisung, die für jede Bedingung eine neue Spalte mit dem Namen „Bemerkungen“ hinzufügt, deren Werte auf den von uns angegebenen Werten basieren.

Die Methode „numpy.where()“ liefert die Elementindizes aus einem Eingabearray, einer Eingabespalte oder einer Liste, die die angegebene Bedingung erfüllen. Im obigen Switch-Fall prüft die Funktion np.where() jedes Element in den Spalten „marks“. Wenn der Wert gleich oder kleiner als 5 ist, wird „fail“ als Ausgabe zurückgegeben. Wenn der Wert kleiner oder gleich 7 ist, wird „zufriedenstellend“ zurückgegeben, und wenn der Wert kleiner oder gleich 9 ist, wird „großartig“ zurückgegeben. Wenn es keine gibt, ist das Ergebnis ausgezeichnet.

Wie zu sehen ist, wird die neue Spalte „Bemerkungen“ in unserem „df“-Datenrahmen erstellt und speichert die Werte, die von der obigen case-Anweisung zurückgegeben werden.

Beispiel Nr. 2:

Versuchen wir die obige Case-Anweisung noch einmal mit einem anderen Datenrahmen. Angenommen, wir müssen Spieler basierend auf ihren Gesamttoren im vorherigen Fußballturnier bewerten. Lassen Sie uns also einen Datenrahmen erstellen, um Aufzeichnungen von Fußballspielern zu speichern.

Wir haben ein Wörterbuch mit den Schlüsseln „Name“ und „Ziele“ innerhalb der Funktion pd.DataFrame() übergeben, um unseren Datenrahmen zu erstellen. Um unseren Datenrahmen zu drucken, verwenden wir die Druckfunktion.

Wie im obigen Datenrahmen zu sehen ist, haben wir zwei Spalten: „Name“ und „Ziele“. In der Spalte Name haben wir die Namen der Spieler [‘John’, ‘Marty’, ‘Clay’, ‘Nick’, ‘Mike’, ‘Alex’, ‘Tom’, ‘Rocky’]. In der „Spalte“ Tore haben wir die Gesamtzahl der Tore, die jeder Spieler im vorherigen Turnier erzielt hat. Wir werden nun unsere Fallbeschreibung verwenden, um diese Spieler basierend auf den von ihnen erzielten Toren zu bewerten.

Der obige Fall wird mit der Funktion where() erstellt. Innerhalb des Falls prüft die Anweisungsfunktion jedes Element in den „marks“-Spalten gegen die Bedingungen. Wenn der Wert in der Spalte „Ziele“ gleich oder kleiner als 5 ist, wird „C“ zurückgegeben. Wenn der Wert in der Spalte „Ziele“ gleich oder kleiner als 9 ist, wird „B“ zurückgegeben. Es gibt ein „A“ zurück, wenn der Wert in der Spalte „Ziele“ gleich oder größer als 10 ist. Die von der Anweisung zurückgegebenen Werte werden in der neuen Spalte „Bewertung“ gespeichert. Lassen Sie uns das 'df' drucken, um die Ergebnisse zu sehen.

Die neue Spalte „Bewertung“ wird erfolgreich mit dem obigen Skript erstellt.

Beispiel Nr. 3: Pandas if-else-Anweisung mit der apply()-Funktion

Die Zeilen- oder Spaltenachse des Datenrahmens wird von der apply()-Methode verwendet, um eine Funktion zu implementieren. Wir können unsere eigene definierte Funktion erstellen und sie in unserem Datenrahmen in Pandas verwenden. Es wird if-else-Bedingungen umfassen. Lassen Sie uns zuerst unseren Datenrahmen erstellen, dann erstellen wir eine Funktion, in der wir eine if-else-Anweisung verwenden, um das Ergebnis zu generieren. Um unseren Datenrahmen zu erstellen, importieren wir zuerst das Modul der Pandas und übergeben dann ein Wörterbuch innerhalb der Methode pd.DataFrame().

Wie zu sehen ist, besteht unser Datenrahmen aus zwei Spalten „A“ mit numerischen Werten [23, 35, 64, 74, 85] und „B“ mit Werten [45, 34, 61, 89, 27]. Jetzt erstellen wir eine Funktion, die bestimmt, welcher Wert in beiden Spalten in jeder Zeile unseres Datenrahmens größer ist.

Sie können die Python-Lambda-Funktion „pandas. DataFrame.apply()“, um einen Ausdruck auszuführen. In Python ist eine Lambda-Funktion eine kompakte anonyme Funktion, die eine beliebige Anzahl von Argumenten akzeptiert und einen Ausdruck ausführt. Im obigen Skript haben wir eine Bedingungsanweisung erstellt, die den Wert beider Spalten vergleicht und das Ergebnis in der neuen Spalte „Vergleich“ speichert. Wenn der Wert der Spalte „A“ kleiner als der Wert der Spalte „B“ ist, wird „B ist größer“ zurückgegeben. Wenn die Bedingung nicht erfüllt ist, wird „A ist größer“ zurückgegeben.

Beispiel Nr. 4:

Versuchen wir ein weiteres Beispiel mit der if-else-Anweisung innerhalb der apply()-Funktion mit einem anderen Datenrahmen.

Angenommen, unser Datenrahmen speichert Datensätze von Mitarbeitern eines Unternehmens. Die Spalte „emp“ speichert die Namen der Mitarbeiter [„Franky“, „Harry“, „Luke“, „Peter“, „Andrew“], während die Spalte „Gehalt“ die Gehälter der einzelnen Mitarbeiter speichert [1350, 1000, 900 , 1200, 980] im 'df'-Datenrahmen. Jetzt erstellen wir unsere if-else-Anweisung mit der apply()-Methode.

Die obige Bedingung prüft jeden Wert in Spalte „Gehalt“ und addiert 200 zu den Gehältern von Mitarbeitern, deren Gehaltswert kleiner oder gleich 1000 ist. Wir haben die von der Funktion apply() zurückgegebenen Werte in der neuen Spalte „ Zuwachs'. Sehen wir uns die Ergebnisse des obigen Skripts an.

Wie Sie sehen können, hat die Funktion erfolgreich 200 zu den Werten hinzugefügt, die kleiner oder gleich 100 waren. Die Werte, die größer als 1000 waren, blieben unverändert.

Fazit:

In diesem Tutorial haben wir gesehen, dass eine Anweisung dieses Typs, die als Case-Anweisung bezeichnet wird, einen Wert zurückgibt, wenn die Bedingung erfüllt ist. Wir haben gesehen, wie Sie eine Case-Anweisung erstellen können, um eine erforderliche Operation oder Aufgabe auszuführen. In diesem Tutorial haben wir die Funktion np.where() und die Funktion apply() verwendet, um case-Anweisungen zu erstellen. Wir haben einige Beispiele implementiert, um Ihnen beizubringen, wie Sie pandas case-Anweisungen mithilfe der where()-Funktion verwenden und wie Sie die apply()-Funktion verwenden, um case-Anweisungen zu erstellen.