"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como passar argumentos para aplicar funções à série Pandas em Python?

Como passar argumentos para aplicar funções à série Pandas em Python?

Publicado em 2024-11-06
Navegar:833

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

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.

Declaração de lançamento Este artigo foi reimpresso em: 1729604416 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

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