Ü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.
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