Aplicar cálculos con valores de fila anteriores en Pandas
En Pandas, enfrentar el desafío de incorporar valores de fila anteriores en los cálculos durante la manipulación de datos no es poco común. Uno de esos escenarios implica la necesidad de usar el valor de la fila anterior al calcular una nueva columna usando la función apply().
Considere un escenario donde tenemos un DataFrame con la siguiente estructura:
Index_Date A B C D ================================ 2015-01-31 10 10 Nan 10 2015-02-01 2 3 Nan 22 2015-02-02 10 60 Nan 280 2015-02-03 10 100 Nan 250
Nuestro objetivo es completar la columna 'C' con valores calculados. Para la primera fila, 'C' se deriva de 'D'. Para las filas siguientes, 'C' se calcula multiplicando el valor 'C' de la fila anterior por el valor 'A' de la fila actual y sumando el valor 'B'.
Enfoque
Para lograr esto, empleamos una combinación de inicialización e iteración dentro de la función apply().
df.loc[0, 'C'] = df.loc[0, 'D']
for i in range(1, len(df)):
df.loc[i, 'C'] = df.loc[i - 1, 'C'] * df.loc[i, 'A'] df.loc[i, 'B']
Resultado
Este enfoque completará efectivamente la columna 'C' con los valores calculados deseados:
Index_Date A B C D ================================ 2015-01-31 10 10 10 10 2015-02-01 2 3 23 22 2015-02-02 10 60 290 280 2015-02-03 10 100 3000 250
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