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!