Anwenden einer Funktion mit Argumenten auf eine Pandas-Serie
Problem:
Das müssen Sie Wenden Sie eine Funktion mit zusätzlichen Argumenten auf eine Pandas-Reihe an. Die pandas apply()-Methode akzeptiert jedoch nur eine Funktion mit einem einzigen Argument.
Lösung:
Neuere Versionen von Pandas (nach Oktober 2017) :
pandas apply() wurde aktualisiert, um Positions- und Schlüsselwortargumente zu unterstützen. Um Parameter zu übergeben, verwenden Sie die folgende Syntax:
<code class="python">my_series.apply(your_function, args=(param1, param2, ...), extra_kw=arg1)</code>
Ältere Versionen von Pandas:
Erstellen Sie eine Teilfunktion mit functools.partial(func, *args, **kwargs), um zusätzliche Argumente an Ihre Funktion zu binden:
<code class="python">add_3 = functools.partial(operator.add, 3) my_series.apply(add_3)</code>
Übergeben Sie eine Lambda-Funktion, die die zusätzlichen Argumente enthält:
<code class="python">my_series.apply(lambda x: your_func(x, arg1, arg2, ...))</code>
Definieren Sie eine benutzerdefinierte Funktion, die alle notwendigen Argumente akzeptiert, einschließlich der Elemente der Reihe als ersten Parameter:
<code class="python">def my_custom_func(x, arg1, arg2, ...): return ... my_series.apply(my_custom_func, args=(arg1, arg2, ...))</code>
Das obige ist der detaillierte Inhalt vonWie wende ich eine Funktion mit Argumenten auf eine Pandas-Reihe an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!