Pandas wenden die Funktion auf jede Zeile an

Pandas wenden die Funktion auf jede Zeile an
Pandas bietet viele Funktionen, die es einfach machen, die Daten zu analysieren und zu manipulieren. Wir nutzen diese Funktionen, um unsere Aufgaben einfacher und schneller zu machen. Wir wenden die Funktionen auf die Zeilen und Spalten an. Um die Funktion in einer bestimmten Zeile in einem angegebenen "PANDAS" -Datenrahmen anzuwenden, verwenden wir die Methode apply (). Wenn wir eine Funktion aufrufen müssen, um jede Zeile in einem "Pandas" -Datenrahmen zu aktualisieren, verwenden wir die Funktion "uepa. Sie sollten die Variable der Achse = 1 festlegen, um jeder Zeile () in den Datenrahmen „Pandas“ eine Funktion zu setzen. Wir verwenden die Funktion „appara ()“ in „Pandas“ in diesem Handbuch mit vier einzigartigen Methoden mit Serien, benutzerdefinierten Funktionen, Numpy und Lambda -Ausdrücken.

Syntax:

DataFrame_Object.anwenden (func, axis = 0, raw = false, result_type = keine, args = (), ** kwargs)

Parameter:

  1. Func: Eine benutzerdefinierte/eingebaute Funktion, die auf die Zeilen/Spalten angewendet werden kann.
  2. Achse: Spalten (1), Index (0)
  3. Skippa: Ignorieren Sie die Na/Null -Werte bei der Berechnung des Ergebnisses.
  4. result_type: Zurückgegebener Typ des Ergebniss wie Serien, DataFrame usw.
  5. Args: Geben Sie die Argumente an.

Methode 1: anwenden () mit benutzerdefinierter Funktion

Um auf allen Zeilen im Pandas -Datenfreame einige Operationen zu erledigen. Damit wird die Funktion auf jede Zeile angewendet.

Pandas.DataFrame_Object.anwenden (Custom_function)

Beispiel:
In diesem Beispiel haben wir einen Datenrahmen mit dem Namen "Analyse" mit 4 Spalten des Ganzzahltyps. Jetzt schreiben wir zwei benutzerdefinierte Funktionen auf diese 4 Spalten.

  1. Das „Operation1“ fügt Zeilen in allen Spalten hinzu. Das Ergebnis über jede Spalte wird in der Spalte „Additionsergebnis“ gespeichert.
  2. Das „Operation2“ multipliziert die Zeilen in allen Spalten. Das Ergebnis in jeder Spalte wird in der Spalte „Multiplikationsergebnis“ gespeichert.
Pandas importieren
# Erstellen Sie den DataFrame mithilfe von Listen
Analyse = Pandas.DataFrame ([[23,1000,34,56],
[23.700,11,0],
[23,20,4,2],
[21.400,32,45],
[21.100.456,78],
[23.800,90,12],
[21.400,32,45],
[20,120,1,67],
[23.100.90,12],
[22.450,76,56],
[22,40,0,1],
[22,12,45,0]
], Spalten = ['Punkte1', 'Punkte2', 'Punkte3', 'Punkte4'])
# Zeigen Sie den DataFrame - Analyse an
print (Analyse)
# Funktion, die jede Zeile für alle Spalten hinzufügt.
Def Operation1 (Reihe):
Rückgabezeile [0]+Zeile [1]+Zeile [2]+Zeile [3]
# Funktion, die jede Zeile für alle Spalten hinzufügt.
Def Operation2 (Reihe):
Return Row [0]*Zeile [1]*Zeile [2]*Zeile [3]
# Übergeben Sie die Funktion an die Methode apply () und speichern Sie sie in der Spalte "Additionsergebnis"
Analyse ['Additionsergebnis'] = Analyse.anwenden (Operation1, Achse = 1)
# Übergeben Sie die Funktion an die Methode apply () und speichern Sie sie in der Spalte "Multiplikationsergebnis"
Analyse ['Multiplikationsergebnis'] = Analyse.anwenden (Operation2, Achse = 1)
drucken()
print (Analyse)

Ausgang:

Erläuterung:
Wir übergeben die Funktion „Operation1“ und „Operation2“ nacheinander an die Funktion apply () separat eine. Sie sehen.

Methode 2: anwenden () mit Lambda -Ausdruck

Hier übergeben wir die Lambda als Parameter an die Funktion uepa () und führen die Berechnung in sich selbst durch.

Pandas.DataFrame_Object.anwenden (Lambda X: Berechnung, Achse = 1)

Beispiel:
Fügen wir vier Zeilen hinzu und multiplizieren Sie sie wie das vorherige Beispiel und speichern Sie sie in zwei Spalten.

Pandas importieren
# Erstellen Sie den DataFrame mithilfe von Listen
Analyse = Pandas.DataFrame ([[23,1000,34,56],
[23.700,11,0],
[23,20,4,2],
[21.400,32,45],
[21.100.456,78],
[23.800,90,12],
[21.400,32,45],
[20,120,1,67],
[23.100.90,12],
[22.450,76,56],
[22,40,0,1],
[22,12,45,0]
], Spalten = ['Punkte1', 'Punkte2', 'Punkte3', 'Punkte4'])
# Fügen Sie alle Zeilen hinzu und speichern Sie sie in der Spalte "Additionsergebnis".
Analyse ['Additionsergebnis'] = Analyse.anwenden (Lambda -Datensatz: Aufzeichnung [0]+Datensatz [1]+Datensatz [2]+Datensatz [3], Axis = 1)
# Multiplizieren Sie alle Zeilen und speichern Sie sie in der Spalte "Multiplikationsergebnis".
Analyse ['Multiplikationsergebnis'] = Analyse.anwenden (Lambda -Datensatz: Aufzeichnung [0]*Aufzeichnung [1]*Aufzeichnung [2]*Aufzeichnung [3], Axis = 1)
drucken()
print (Analyse)

Ausgang:

Erläuterung:
Die verwendeten Ausdrücke sind wie folgt:

# Fügen Sie alle Zeilen hinzu und speichern Sie sie in der Spalte "Additionsergebnis".
Analyse ['Additionsergebnis'] = Analyse.anwenden (Lambda -Datensatz: Aufzeichnung [0]+Datensatz [1]+Datensatz [2]+Datensatz [3], Axis = 1)
# Multiplizieren Sie alle Zeilen und speichern Sie sie in der Spalte "Multiplikationsergebnis".
Analyse ['Multiplikationsergebnis'] = Analyse.anwenden (Lambda -Datensatz: Aufzeichnung [0]*Aufzeichnung [1]*Aufzeichnung [2]*Aufzeichnung [3], Axis = 1)

Sie sehen.

Methode 3: anwenden () mit Pandas.Serie

Wenn Sie die Zeile separat ändern möchten oder alle Zeilen einzeln aktualisieren möchten, können Sie dies tun, indem Sie die Serie innerhalb des Lambda -Ausdrucks übergeben.

Pandas.DataFrame_Object.Bewerben Sie (Lambda X: Pandas.Serie (Berechnung), Achse = 1)

Beispiel:
Subtrahieren wir 10 von allen Spalten.

Pandas importieren
# Erstellen Sie den DataFrame mithilfe von Listen
Analyse = Pandas.DataFrame ([[23,1000,34,56],
[23.700,11,0],
[23,20,4,2],
[21.400,32,45],
[21.100.456,78],
[23.800,90,12],
[21.400,32,45],
[20,120,1,67],
[23.100.90,12],
[22.450,76,56],
[22,40,0,1],
[22,12,45,0]
], Spalten = ['Punkte1', 'Punkte2', 'Punkte3', 'Punkte4'])
# 10 von allen Zeilen abziehen
Analyse = Analyse.Bewerben Sie (Lambda Record: Pandas.Serie ([Rekord [0] -10, Datensatz [1] -10, Datensatz [2] -10, Datensatz [3] -10]), Axis = 1)
print (Analyse)

Ausgang:

Erläuterung:
Die verwendeten Ausdrücke sind wie folgt:

Analyse = Analyse.Bewerben Sie (Lambda Record: Pandas.Serie ([Rekord [0] -10, Datensatz [1] -10, Datensatz [2] -10, Datensatz [3] -10]), Axis = 1)

Sie können sehen, dass die Werte in allen Spalten von 10 abgezogen werden.

Methode 4: anwenden () mit Numpy -Funktionen

Verwenden wir die Numpy -Funktionen, um die Berechnung auf allen Zeilen in Pandas DataFrame durchzuführen.

Pandas.DataFrame_Object.anwenden (numpy function, axis = 1)

Beispiel:
Verwenden wir die Numpy -Funktion, um Folgendes zurückzugeben:

  1. Die Summe aller Zeilen mit Numpy.Summe().
  2. Der Durchschnitt aller Zeilen mit Numpy.bedeuten().
  3. Das Maximum unter jeder Reihe mit Numpy.max ().
  4. Das Minimum unter jeder Reihe mit Numpy.Mindest().

Wir speichern das Ergebnis in vier verschiedenen Spalten.

Pandas importieren
Numpy importieren
# Erstellen Sie den DataFrame mithilfe von Listen
Analyse = Pandas.DataFrame ([[23,1000,34,56],
[23.700,11,0],
[23,20,4,2],
[21.400,32,45],
[21.100.456,78],
[23.800,90,12],
[21.400,32,45],
[20,120,1,67],
[23.100.90,12],
[22.450,76,56],
[22,40,0,1],
[22,12,45,0]
], Spalten = ['Punkte1', 'Punkte2', 'Punkte3', 'Punkte4'])
# Erhalten Sie die Gesamtsumme an Zeilen und speichern Sie in "Summeergebnis"
Analyse ['Summeergebnis'] = Analyse.bewerben (Numpy.Summe, Achse = 1)
# Durchschnitt an Zeilen und speichern Sie in "Summeergebnis"
Analyse ['durchschnittliches Ergebnis'] = Analyse.bewerben (Numpy.Mittelwert, Achse = 1)
# Erhalten Sie den maximalen Wert aus jeder Reihe und speichern Sie in "Max -Ergebnis"
Analyse ['Max -Ergebnis'] = Analyse.bewerben (Numpy.Max, Achse = 1)
# Erhalten Sie den Mindestwert aus jeder Reihe und speichern Sie in "Min -Ergebnis"
Analyse ['min Ergebnis'] = Analyse.bewerben (Numpy.min, axis = 1)
print (Analyse)

Ausgang:

Abschluss

Wir haben diesen Leitfaden zur Verfügung gestellt, um zu erläutern, wie die Funktion apply () für jede Zeile verwendet wird. Unser Hauptziel ist es, Ihnen eine gute, einfache und detaillierte Erklärung dieses Funktionskonzepts „Apply ()“ zu geben. Wir haben vier verschiedene Beispiele gezeigt, in denen wir gezeigt haben. Wir haben erklärt, dass wir für diesen Zweck die Funktion „appara.