Maison >développement back-end >Tutoriel Python >Comment transmettre des arguments supplémentaires à apply() dans Python Pandas ?

Comment transmettre des arguments supplémentaires à apply() dans Python Pandas ?

DDD
DDDoriginal
2024-10-23 00:01:31312parcourir

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

Passer des arguments supplémentaires à apply() dans Python Pandas

L'application de fonctions définies par l'utilisateur à la série Pandas nécessite souvent de transmettre des arguments supplémentaires. Bien que les premières versions de Pandas ne le permettent pas, les versions plus récentes prennent en charge la transmission d'arguments.

Approche mise à jour (Pandas >= 1.0)

À partir de Pandas 1.0 et plus tard, vous pourrez transmettre directement des arguments supplémentaires à l'aide de la méthode apply().

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

Les arguments transmis à l'aide de args sont ajoutés après l'élément de série, tandis que les arguments de mot-clé peuvent être transmis à l'aide de extra_kw.

Solution de contournement pour les anciennes versions

Pour les versions antérieures à Pandas 1.0 :

Méthode 1 : utilisation de functools.partial

Cette méthode vous permet de créer une fonction partiellement appliquée qui lie tous les arguments souhaités.

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

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

Méthode 2 : Utiliser une fonction Lambda

Les fonctions Lambda peuvent également être utilisées pour transmettre arguments.

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn