Learn AI with Python · Lekcja

Szeregi czasowe w Pandas

DatetimeIndex, resample(), rolling(), shift(), generowanie zakresów dat i resampling.

Lekcja 4 z 413 kroki

Szeregi czasowe w Pandas to bezpłatna lekcja Learn AI with Python na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Learn AI with Python, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Learn AI with Python zawiera 4 lekcji w sumie.

Czas w pandas

pandas zapewnia pełną obsługę daty i czasu. Konwersja ciągów znaków na znaczniki czasu oraz indeksowanie według czasu umożliwiają ponowne próbkowanie, okna kroczące i cechy opóźnione.

Parsowanie za pomocą to_datetime

pd.to_datetime konwertuje ciągi znaków lub liczby na właściwe obiekty Timestamp, automatycznie rozpoznając większość popularnych formatów.

import pandas as pd
d = pd.to_datetime(["2026-01-01", "2026-01-05", "2026-02-10"])
print(d)
print(d.dtype)   # datetime64[ns]

Generowanie dat za pomocą date_range

pd.date_range tworzy równomiernie rozmieszczoną sekwencję znaczników czasu. Kod freq określa krok: D — dni, H — godziny, M — koniec miesiąca itd.

rng = pd.date_range("2026-01-01", periods=5, freq="D")
print(rng)
# 2026-01-01 ... 2026-01-05

Tworzenie DatetimeIndex

Ustawienie kolumny daty i czasu jako indeksu tworzy obiekt DatetimeIndex, który umożliwia wycinanie uwzględniające czas oraz korzystanie z narzędzi resample/rolling.

ts = pd.Series([10, 12, 9, 15, 11],
               index=pd.date_range("2026-01-01", periods=5, freq="D"))
print(ts)

Wycinanie na podstawie częściowej daty

Za pomocą DatetimeIndex można wycinać dane na podstawie częściowych dat: ciąg znaków zawierający rok lub miesiąc wybiera wszystkie pasujące wiersze.

monthly = pd.Series(range(60),
    index=pd.date_range("2026-01-01", periods=60, freq="D"))
print(monthly["2026-02"].head())   # all of February

Zmniejszanie częstotliwości za pomocą resample

resample działa jak groupby dla czasu. Należy zmniejszyć częstotliwość do rzadszej, a następnie wykonać agregację, na przykład przekształcić dane dzienne w tygodniowe sumy.

weekly = monthly.resample("W").sum()
print(weekly.head())

Zwiększanie częstotliwości i uzupełnianie

Ponowne próbkowanie z częstszą częstotliwością tworzy luki. Należy połączyć je z .ffill(), aby przenosić ostatnią wartość do przodu.

hourly = ts.resample("12H").ffill()
print(hourly.head())

Okna kroczące

rolling(window) oblicza statystykę w przesuwającym się oknie i stanowi podstawę średnich kroczących wygładzających zaszumione szeregi.

roll = monthly.rolling(window=7).mean()
print(roll.head(10))   # first 6 are NaN (not enough history)

Warianty okien kroczących

W oknie kroczącym można zastosować dowolną funkcję redukującą: mean, sum, std, min, max. Kroczące odchylenie standardowe z 7 dni mierzy ostatnią zmienność.

vol = monthly.rolling(7).std()
print(vol.tail())

Opóźnianie za pomocą shift

shift(n) przesuwa wartości o n okresów do przodu, tworząc cechy opóźnione i umożliwiając obliczanie zmian między kolejnymi okresami.

df = pd.DataFrame({"sales": [100, 110, 105, 130]})
df["prev"] = df["sales"].shift(1)
df["pct_change"] = (df["sales"] - df["prev"]) / df["prev"]
print(df)

Wyodrębnianie składników daty

Akcesor .dt udostępnia składniki takie jak year, month i dayofweek, które są przydatne jako cechy modelu.

s = pd.Series(pd.date_range("2026-01-01", periods=3, freq="D"))
print(s.dt.dayofweek)   # 0=Monday
print(s.dt.month)

Szybkie sprawdzenie

Proszę sprawdzić swoją wiedzę na temat szeregów czasowych.

Podsumowanie

Zestaw narzędzi do szeregów czasowych:

  • pd.to_datetime do parsowania oraz pd.date_range do generowania
  • DatetimeIndex umożliwia wycinanie na podstawie częściowych dat
  • resample(freq).agg() służy do zwiększania i zmniejszania częstotliwości próbkowania
  • rolling(window) służy do obliczania statystyk kroczących
  • shift(n) służy do tworzenia opóźnień, a .dt do uzyskiwania składników daty
Bezpłatny start

Ucz się Python dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
53
Lekcje
225

Często zadawane pytania

Czy lekcja „Szeregi czasowe w Pandas” jest bezpłatna?

Tak — pełny tekst „Szeregi czasowe w Pandas” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Learn AI with Python, przejdź na CoddyKit PRO. Kurs Learn AI with Python zawiera 4 lekcji w sumie.

Co nauczysz się w „Szeregi czasowe w Pandas”?

DatetimeIndex, resample(), rolling(), shift(), generowanie zakresów dat i resampling. Ćwiczysz Learn AI with Python z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Learn AI with Python?

Nie wymagamy żadnego doświadczenia. Learn AI with Python w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.

Ile czasu zajmuje lekcja „Szeregi czasowe w Pandas”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Learn AI with Python?

Tak. Każda lekcja Learn AI with Python zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. GroupBy i agregacja
  2. Tabele przestawne i tabele krzyżowe
  3. Zaawansowane scalanie i łączenie
  4. Szeregi czasowe w Pandas
← Powrót do Learn AI with Python