Heim >Backend-Entwicklung >Python-Tutorial >Wie wende ich eine Funktion mit Argumenten auf eine Pandas-Reihe an?

Wie wende ich eine Funktion mit Argumenten auf eine Pandas-Reihe an?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-22 23:15:29304Durchsuche

How to Apply a Function with Arguments to a Pandas Series?

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:

  1. Verwendung von functools.partial:

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>
  1. Using ein Lambda-Ausdruck:

Ü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>
  1. Erstellen einer benutzerdefinierten Funktion:

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn