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ő:
- Egyesíteni az összes egyedi időpontot mindkét sorból.
- Minden pontnál meghatározni mindkét sor aktuális értékét (az utolsó ismert érték az adott pont előtt).
- 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.