Übergabe von Argumenten an Serien-Apply-Funktionen in Python Pandas
Die Pandas-Bibliothek stellt die Methode 'apply()' bereit um eine Funktion auf jedes Element einer Reihe anzuwenden. Ältere Versionen von Pandas erlauben jedoch keine Übergabe zusätzlicher Argumente an die Funktion.
Lösung für ältere Versionen von Pandas:
Um diese Einschränkung in älteren Versionen zu behandeln Von Pandas können Sie die Funktionen 'functools.partial()' oder 'lambda' verwenden:
Verwenden von 'functools.partial()':
<code class="python">import functools import operator # Define a function with multiple arguments def add_3(a, b, c): return a + b + c # Create a partial function by binding extra arguments add_3_partial = functools.partial(add_3, 2, 3) # Apply the partial function to a series series.apply(add_3_partial)</code>
Verwendung von „Lambda“:
<code class="python"># Create a lambda function to pass extra arguments to the apply method lambda_func = lambda x: my_function(a, b, c, d, ..., x) # Apply the lambda function to the series series.apply(lambda_func)</code>
Lösung für neuere Versionen von Pandas:
Seit Oktober 2017 unterstützt Pandas die direkte Übergabe von Positions- und Schlüsselwortargumenten an die Methode 'apply()':
<code class="python">series.apply(my_function, args=(2, 3, 4), extra_kw={"example": 5})</code>
In dieser Syntax werden Positionsargumente nach dem Element des hinzugefügt Serie, während Schlüsselwortargumente als Wörterbuch übergeben werden.
Das obige ist der detaillierte Inhalt vonWie übergebe ich Argumente, um Funktionen für Pandas-Serien in Python anzuwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!