Maison  >  Article  >  développement back-end  >  Comment transmettre des arguments pour appliquer des fonctions pour la série Pandas en Python ?

Comment transmettre des arguments pour appliquer des fonctions pour la série Pandas en Python ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-22 22:50:02160parcourir

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

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

<code class="python">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)</code>

Utilisation de 'lambda' :

<code class="python"># 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)</code>

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 à la méthode 'apply()' :

<code class="python">series.apply(my_function, args=(2, 3, 4), extra_kw={"example": 5})</code>

Dans cette syntaxe, les arguments de position sont ajoutés après l'élément du Série, tandis que les arguments de mots-clés sont transmis sous forme de dictionnaire.

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