"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo pasar argumentos para aplicar funciones para la serie Pandas en Python?

¿Cómo pasar argumentos para aplicar funciones para la serie Pandas en Python?

Publicado el 2024-11-06
Navegar:562

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

Pasar argumentos a funciones de aplicación de series en Python Pandas

La biblioteca pandas proporciona el método 'apply()' aplicar una función a cada elemento de una Serie. Sin embargo, las versiones anteriores de pandas no permiten que se pasen argumentos adicionales a la función.

Solución para versiones anteriores de Pandas:

Para manejar esta limitación en versiones anteriores de pandas, puedes usar las funciones 'functools.partial()' o 'lambda':

Usando '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)

Usando '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)

Solución para versiones más recientes de Pandas:

Desde octubre de 2017, pandas admite pasar argumentos posicionales y de palabras clave directamente al ' método apply()':

series.apply(my_function, args=(2, 3, 4), extra_kw={"example": 5})

En esta sintaxis, los argumentos posicionales se agregan después del elemento de la Serie, mientras que los argumentos de palabras clave se pasan como un diccionario.

Declaración de liberación Este artículo se reimprime en: 1729604416 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3