Eu tenho o seguinte df:
Start_Date End_Date Relevant Volume
2024-10-01 2024-12-31 False 0.000000
2025-01-01 2025-03-31 True 0.097989
2025-04-01 2025-06-30 True -0.014449
2025-01-01 2025-12-31 True 0.195327
2026-01-01 2026-12-31 False 0.000000
Preciso de um índice horário começando/terminando nas primeiras/últimas datas, onde Relevant == True. Eu faço isso da seguinte maneira:
relevant_df = df[df['Relevant']]
earliest_start = relevant_df['Start_Date'].min()
latest_end = relevant_df['End_Date'].max()
# Create DateTime index
date_range = pd.date_range(start=earliest_start, end=latest_end, freq='H')
aggregated_volumes = pd.Series(index=date_range, dtype=float)
Agora, como posso pegar o Volume por período e somá-los de forma que, neste ex, os três primeiros meses de 2025, o volume por hora seja igual a 0,097989 + 0,195327 segundo trimestre -0,014449 + 0,195327 etc..