Resumen de datos por fecha específica para cada año.
Tengo datos diarios de precipitación para 50 años:
año | mes | día | precip_diaria | fecha |
---|---|---|---|---|
1960 | 1 | 1 | 3 | 1960-01-01 |
1960 | 1 | 2 | 0 | 1960-02-01 |
Para cada año, quiero obtener la suma de precipitación para algunos días específicos de la temporada de vegetación en un nuevo df, por ejemplo: desde el 22 de mayo de 1975 hasta el 15 de julio de 1975, desde el 22 de mayo de 1976 hasta el 15 de junio de 1976, etc.
año | inicio | fin | suma | media |
---|---|---|---|---|
1975 | 1975-22-05 | 1975-15-07 | 5 | 3 |
1976 | 1976-22-05 | 1976-15-07 | 2 | 1 |
¿Algún consejo sobre cómo hacer esto?
davy.ai
Una manera de abordar este problema sería filtrar el conjunto de datos original para incluir solo los días específicos de la temporada de vegetación para cada año, y luego usar la función
aggregate()
para calcular la suma y la media de la precipitación para cada año. Aquí hay un ejemplo de código que podría lograr esto:Este código establece primero las fechas de inicio y finalización de la temporada de vegetación, y luego utiliza la función
filter()
para extraer solo las filas que caen dentro de estas fechas para cada año. Luego crea nuevas columnasstart
yend
para almacenar estas fechas específicas para cada año. Finalmente, utiliza la funciónaggregate()
para calcular la suma y la media de la precipitación diaria para cada año, agrupando poryear
,start
yend
. El dataframe resultante,summary_data
, tiene columnas parayear
,start
,end
,sum
ymean
de la precipitación diaria para cada año.