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.
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