"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 calcular uma coluna em um DataFrame usando valores de linha anterior com `apply()`?

Como calcular uma coluna em um DataFrame usando valores de linha anterior com `apply()`?

Publicado em 13/11/2024
Navegar:770

How to Calculate a Column in a DataFrame Using Previous Row Values with `apply()`?

Iterando através de DataFrames com considerações de valor anteriores usando apply()

Em pandas, a função apply() é comumente empregada para aplicar uma função a cada linha de um DataFrame . No entanto, surgem desafios quando o valor da linha anterior também é calculado usando o mesmo método apply().

Considere o seguinte DataFrame:

Index_Date ABCD
2015-01-311010NaN10
2015-02-012 3NaN22
2015-02-021060NaN280
2015-02-0310100 NaN250

O objetivo é derivar a coluna C:

  • Para 31/01/2015, defina-o com o valor de D.
  • Para linhas subsequentes, multiplique o valor da linha anterior de C pelo valor da linha atual de A e adicione-o ao valor da linha atual de B.

Solução:

Para conseguir isso, primeiro definimos o valor inicial de C para 31/01/2015:

df.loc[0, 'C'] = df.loc[0, 'D']

Em seguida, iteramos pelas linhas restantes e atualizamos os valores C com os cálculos desejados:

for i in range(1, len(df)):
    df.loc[i, 'C'] = df.loc[i-1, 'C'] * df.loc[i, 'A']   df.loc[i, 'B']

O DataFrame final após estas operações:

Index_DateABC D
2015-01-3110101010
2015-02-01232322
2015-02-021060290280
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