En pandas, la función apply() se emplea comúnmente para aplicar una función a cada fila de un DataFrame . Sin embargo, surgen desafíos cuando el valor de la fila anterior también se calcula usando el mismo método apply().
Considere lo siguiente Marco de datos:
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 | 2 80 |
2015-02-03 | 10 | 100 | NaN | 250 |
El El objetivo es derivar la columna C:
Para lograr esto, primero establecemos el valor inicial de C para 2015-01-31:
df.loc[0, 'C'] = df.loc[0, 'D']
Luego, iteramos a través del resto filas y actualice los valores de C con los cálculos deseados:
for i in range(1, len(df)):
df.loc[i, 'C'] = df.loc[i-1, 'C'] * df.loc[i, 'A'] df.loc[i, 'B']
El DataFrame final después de estos operaciones:
Index_Date | A | B | C | D |
---|---|---|---|---|
2015-01-31 | 10 | 10 | 10 | 1 0 |
2015-02-01 | 2 | 3 | 23 | 22 |
2015-02-02 | 10 | 60 | 290 | 280 |
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