Heim >Backend-Entwicklung >Python-Tutorial >Wie übergebe ich Argumente in DataFrame.apply() für Serienoperationen in Pandas?
Verwenden von Argumenten in der Serienanwendung
Die DataFrame.apply()-Methode in Pandas wird häufig verwendet, um eine Funktion auf jedes Element von a anzuwenden Serie. Frühere Versionen von Pandas unterstützten jedoch nicht die direkte Übergabe von Argumenten an die Funktion. Dies warf die Frage auf, ob es eine alternative Methode oder einen praktikablen Workaround gab.
Wie in der Dokumentation hervorgehoben, ermöglichen aktualisierte Versionen von Pandas tatsächlich die Übergabe von Argumenten an die apply()-Methode. Die folgende Syntax kann verwendet werden:
<code class="python">my_series.apply(your_function, args=(2,3,4), extra_kw=1)</code>
Argumente werden nach dem Element der Reihe positioniert, was eine größere Flexibilität bei der Funktionsanwendung ermöglicht.
Workaround für ältere Pandas-Versionen
Für ältere Versionen von Pandas besteht ein alternativer Ansatz darin, die Methode functools.partial zu verwenden. Dieses Dienstprogramm erstellt eine neue Funktion mit bestimmten vorab gebundenen Argumenten. Zum Beispiel:
<code class="python">import functools import operator add_3 = functools.partial(operator.add, 3) add_3(2) # Outputs 5</code>
Darüber hinaus wird auch die Übergabe von Schlüsselwortargumenten an die vorgebundene Funktion unterstützt:
<code class="python"># Add 5 to every element of the series my_series.apply((lambda x: your_function(a, b, c, d, ..., x)))</code>
Schlussfolgerung
While Ältere Versionen von Pandas erforderten Workarounds, um Funktionen mit Argumenten auf Serien anzuwenden. Updates haben jetzt direkte Unterstützung für diese Funktionalität eingeführt. Der bevorzugte Ansatz besteht darin, die Methode functools.partial in älteren Versionen und die verbesserte Methode apply() in neueren Versionen zu verwenden.
Das obige ist der detaillierte Inhalt vonWie übergebe ich Argumente in DataFrame.apply() für Serienoperationen in Pandas?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!