Intern
Explique a lógica por trás da resolução do problema sum_series: como construir a soma de duas séries temporais em degraus?
sobes.tech IA
Resposta da IA
A tarefa sum_series envolve somar duas séries temporais escalonadas, onde os valores mudam de forma discreta em momentos específicos. A lógica da solução consiste em:
- Unir todos os pontos temporais únicos de ambas as séries.
- Para cada ponto, determinar o valor atual de cada série (o último valor conhecido antes desse ponto).
- Somar esses valores, obtendo a soma em cada ponto temporal.
Dessa forma, obtém-se uma nova série escalonada que reflete a soma das séries originais.
Exemplo em Python usando pandas:
import pandas as pd
# Duas séries escalonadas
series1 = pd.Series([10, 20, 15], index=pd.to_datetime(['2023-01-01', '2023-01-03', '2023-01-05']))
series2 = pd.Series([5, 7, 3], index=pd.to_datetime(['2023-01-02', '2023-01-04', '2023-01-06']))
# Unir os índices
all_times = series1.index.union(series2.index).sort_values()
# Reindexar e preencher com valores anteriores
s1_filled = series1.reindex(all_times, method='ffill').fillna(0)
s2_filled = series2.reindex(all_times, method='ffill').fillna(0)
# Somar
sum_series = s1_filled + s2_filled
print(sum_series)
Isso resultará na soma das duas séries considerando sua natureza escalonada.