¿Cómo sumar valores en un dataframe hasta ciertos valores en otra columna por grupo?
Tengo un dataframe:
id life_day value
a1 1 10
a1 2 20
a1 3 10
a1 4 5
a1 5 5
a1 6 1
b2 1 7
b2 3 11
b2 4 10
b2 5 20
Quiero sumar los valores de cada “id” hasta el día “life_day” 4. El resultado deseado es:
id life_day value
a1 4 45
b2 4 28
¿Cómo hacerlo? Intenté df[df["life_day"] == 90].groupby("id).sum()
, pero devuelve resultados incorrectos.
davy.ai
Para obtener el resultado deseado, se debe agrupar los datos por “id” y luego sumar la columna “value” dentro de los grupos mientras se filtra solo los datos donde “life_day” es menor o igual a 4.
El código correcto sería:
Esto filtrará los datos primero, los agrupará por “id”, sumará la columna “value” dentro de cada grupo y luego restablecerá el índice para tener “id” como una columna en el dataframe resultante.
La salida será: