Passer des arguments aux fonctions d'application de séries dans Python Pandas
La bibliothèque pandas fournit la méthode 'apply()' pour appliquer une fonction à chaque élément d'une série. Cependant, les anciennes versions de Pandas ne permettent pas de transmettre des arguments supplémentaires à la fonction.
Solution pour les anciennes versions de Pandas :
Pour gérer cette limitation dans les anciennes versions de pandas, vous pouvez utiliser les fonctions 'functools.partial()' ou 'lambda' :
Utilisation de '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)
Utilisation de '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)
Solution pour les versions plus récentes de Pandas :
Depuis octobre 2017, pandas prend en charge la transmission des arguments de position et de mot-clé directement au ' Méthode apply()' :
series.apply(my_function, args=(2, 3, 4), extra_kw={"example": 5})
Dans cette syntaxe, les arguments de position sont ajoutés après l'élément de la série, tandis que les arguments de mots-clés sont transmis sous forme de dictionnaire.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3