Heim >Backend-Entwicklung >Python-Tutorial >Wie übergebe ich zusätzliche Argumente an apply() in Python Pandas?

Wie übergebe ich zusätzliche Argumente an apply() in Python Pandas?

DDD
DDDOriginal
2024-10-23 00:01:31259Durchsuche

How to Pass Additional Arguments to apply() in Python Pandas?

Übergabe zusätzlicher Argumente an apply() in Python Pandas

Das Anwenden benutzerdefinierter Funktionen auf Pandas-Serien erfordert häufig die Übergabe zusätzlicher Argumente. Während frühere Versionen von Pandas dies nicht zuließen, unterstützen neuere Versionen die Argumentübergabe.

Aktualisierter Ansatz (Pandas >= 1.0)

Ab Pandas 1.0 und Später können Sie zusätzliche Argumente direkt mit der Methode apply() übergeben.

<code class="python">my_series.apply(your_function, args=(2, 3, 4), extra_kw=1)</code>

Mit args übergebene Argumente werden nach dem Serienelement hinzugefügt, während Schlüsselwortargumente mit extra_kw übergeben werden können.

Problemumgehung für ältere Versionen

Für Versionen vor Pandas 1.0:

Methode 1: Verwendung von functools.partial

Diese Methode ermöglicht es Ihnen, eine teilweise angewendete Funktion zu erstellen, die alle gewünschten Argumente bindet.

<code class="python">import functools
import operator

add_3 = functools.partial(operator.add, 3)
my_series.apply(add_3)</code>

Methode 2: Verwenden einer Lambda-Funktion

Lambda-Funktionen können auch zum Übergeben verwendet werden Argumente.

<code class="python">my_series.apply((lambda x: your_func(a, b, c, d, ..., x)))</code>

Das obige ist der detaillierte Inhalt vonWie übergebe ich zusätzliche Argumente an apply() in Python Pandas?. 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