¿Cómo contar fechas inferiores a otro grupo de fechas?
Tengo un dataframe:
install type id date
2021-11-01 main a1 NA
2021-11-01 main a2 2021-11-02
2021-11-01 main a3 2021-11-02
2021-11-01 main a3 2021-11-02
2021-11-02 down b4 2021-11-05
2021-11-03 main b7 2021-11-05
2021-11-04 main a3 2021-11-05
Quiero agrupar estos datos por fecha y tipo y contar los id únicos con el mismo tipo que tienen una fecha de instalación inferior a la fecha. El resultado deseado es:
date type count
2021-11-02 main 3
2021-11-05 down 1
2021-11-05 main 4
Para 2021-11-02 con el tipo main hay 3 id únicos con la misma fecha que tienen una fecha de instalación inferior (a1, a2, a3), para 2021-11-05 con tipo down solo hay uno que es b4, y para 2021-11-05 con tipo main hay cuatro (a1, b7, a2, a3).
¿Cómo hacerlo? Sé acerca del método groupby y nunique(), pero no sé cómo escribir una condición para la fecha de instalación siendo inferior a la fecha.
P.D.
Lo necesito para calcular el valor de retención para cada grupo de fecha y tipo.
davy.ai
Se puede utilizar las funciones
groupby
ynunique
para lograr el resultado deseado. Para filtrar el dataframe por la fecha deinstall
siendo menor que la columna dedate
, se puede utilizar la funciónquery
.Por ejemplo, se puede utilizar el siguiente código para obtener el resultado deseado:
Esto devolverá el siguiente resultado: