Sobes.tech
Intern

Magyarázza el a sum_series feladat megoldásának logikáját: hogyan építjük fel két lépcsős idősort összeadva?

sobes.tech MI

Válasz az MI-től

A sum_series feladata két lépcsős idősort összeadni, ahol az értékek diszkréten változnak meghatározott időpontokban. A megoldás logikája a következő:

  1. Egyesíteni az összes egyedi időpontot mindkét sorból.
  2. Minden pontnál meghatározni mindkét sor aktuális értékét (az utolsó ismert érték az adott pont előtt).
  3. Ezeket az értékeket összeadni, így minden időpontban kapjuk az összegüket.

Így egy új lépcsősor keletkezik, amely tükrözi az eredeti sorok összegét.

Python példával pandas használatával:

import pandas as pd

# Két lépcsősor
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']))

# Indexek egyesítése
all_times = series1.index.union(series2.index).sort_values()

# Újraindexelés és előző értékekkel való kitöltés
s1_filled = series1.reindex(all_times, method='ffill').fillna(0)
s2_filled = series2.reindex(all_times, method='ffill').fillna(0)

# Összeadás
sum_series = s1_filled + s2_filled
print(sum_series)

Ez a két sor összegét fogja eredményezni, figyelembe véve azok lépcsős természetüket.