Passando argumentos para funções de aplicação de série em Python Pandas
A biblioteca pandas fornece o método 'apply()' para aplicar uma função a cada elemento de uma série. No entanto, versões mais antigas do pandas não permitem que argumentos adicionais sejam passados para a função.
Solução para versões mais antigas do Pandas:
Para lidar com essa limitação em versões mais antigas dos pandas, você pode usar funções 'functools.partial()' ou 'lambda':
Using '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)
Solução para versões mais recentes do Pandas:
Desde outubro de 2017, o pandas oferece suporte à passagem de argumentos posicionais e de palavras-chave diretamente para o ' método apply()':
series.apply(my_function, args=(2, 3, 4), extra_kw={"example": 5})
Nesta sintaxe, argumentos posicionais são adicionados após o elemento da Série, enquanto argumentos de palavras-chave são passados como um dicionário.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3