Sobes.tech
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:

  1. Unir todos os pontos temporais únicos de ambas as séries.
  2. Para cada ponto, determinar o valor atual de cada série (o último valor conhecido antes desse ponto).
  3. 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.