Szeregi czasowe w Pandas
DatetimeIndex, resample(), rolling(), shift(), generowanie zakresów dat i resampling.
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-05Tworzenie 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 FebruaryZmniejszanie 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_datetimedo parsowania orazpd.date_rangedo generowaniaDatetimeIndexumożliwia wycinanie na podstawie częściowych datresample(freq).agg()służy do zwiększania i zmniejszania częstotliwości próbkowaniarolling(window)służy do obliczania statystyk kroczącychshift(n)służy do tworzenia opóźnień, a.dtdo uzyskiwania składników daty
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
- GroupBy i agregacja
- Tabele przestawne i tabele krzyżowe
- Zaawansowane scalanie i łączenie
- Szeregi czasowe w Pandas