„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie übergebe ich Argumente, um Funktionen für Pandas-Serien in Python anzuwenden?

Wie übergebe ich Argumente, um Funktionen für Pandas-Serien in Python anzuwenden?

Veröffentlicht am 06.11.2024
Durchsuche:277

How to Pass Arguments to Apply Functions for Pandas Series in Python?

Ü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 nicht die Ü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()':

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)

Using 'lambda':

# 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)

Lösung für neuere Versionen von Pandas:

Seit Oktober 2017 unterstützt Pandas die direkte Übergabe von Positions- und Schlüsselwortargumenten an ' apply()' method:

series.apply(my_function, args=(2, 3, 4), extra_kw={"example": 5})

In dieser Syntax werden Positionsargumente nach dem Element der Serie hinzugefügt, während Schlüsselwortargumente als Wörterbuch übergeben werden.

Freigabeerklärung Dieser Artikel wird reproduziert unter: 1729604416 Wenn ein Verstoß vorliegt, wenden Sie sich bitte an [email protected], um ihn zu löschen.
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3