Jak utworzyć zakres dat w pandach (3 przykłady)
Możesz użyć funkcji pandas.date_range() , aby utworzyć zakres dat w pandach.
Ta funkcja wykorzystuje następującą podstawową składnię:
pandas.date_range(początek, koniec, okresy, częstotliwość,…)
Złoto:
- początek : data rozpoczęcia
- koniec : Data zakończenia
- okresy: liczba okresów do wygenerowania
- freq : Częstotliwość do użycia (sprawdź tę listę, aby uzyskać aliasy częstotliwości)
Poniższe przykłady pokazują, jak w praktyce wykorzystać tę funkcję.
Przykład 1: Utwórz zakres dat z pojedynczymi dniami
Poniższy kod pokazuje, jak utworzyć zakres dat składający się z pojedynczych dni z określoną datą początkową i końcową:
import pandas as pd #create 10-day date range p.d. date_range (start=' 1/1/2020 ', end= '10/1/2020 ') DatetimeIndex(['2020-01-01', '2020-01-02', '2020-01-03', '2020-01-04', '2020-01-05', '2020-01-06', '2020-01-07', '2020-01-08', '2020-01-09', '2020-01-10'], dtype='datetime64[ns]', freq='D')
Wynikiem jest lista 10 dni od określonej daty początkowej do określonej daty końcowej.
Przykład 2: Utwórz zakres dat z określoną liczbą okresów
Poniższy kod pokazuje, jak utworzyć zakres dat z określoną liczbą okresów w równej odległości między określoną datą początkową i końcową:
import pandas as pd #create 10-day date range with 3 equally-spaced periods p.d. date_range (start=' 1/1/2020 ', end=' 1/10/2020 ', periods= 3 ) DatetimeIndex(['2020-01-01 00:00:00', '2020-01-05 12:00:00', '2020-01-10 00:00:00'], dtype='datetime64[ns]', freq=None)
Wynikiem jest lista trzech równoodległych dni od określonej daty początkowej do określonej daty końcowej.
Przykład 3: Utwórz zakres dat z określoną częstotliwością
Poniższy kod pokazuje, jak utworzyć zakres dat rozpoczynający się od określonej daty i mający częstotliwość dat początkową wynoszącą sześć miesięcy:
import pandas as pd #create date range with six month start dates p.d. date_range (start=' 1/1/2020 ', freq=' MS ', periods= 6 ) DatetimeIndex(['2020-01-01', '2020-02-01', '2020-03-01', '2020-04-01', '2020-05-01', '2020-06-01'], dtype='datetime64[ns]', freq='MS')
Rezultatem jest lista sześciu dat, każda w odstępie jednego miesiąca. Należy pamiętać, że „ MS ” oznacza „Początek miesiąca”. Pełną listę aliasów dat znajdziesz tutaj .
Poniższy kod pokazuje, jak utworzyć zakres dat rozpoczynający się od określonej daty i mający częstotliwość roczną:
import pandas as pd #create date range with six consecutive years p.d. date_range (start=' 1/1/2020 ', freq=' YS ', periods= 6 ) DatetimeIndex(['2020-01-01', '2021-01-01', '2022-01-01', '2023-01-01', '2024-01-01', '2025-01-01'], dtype='datetime64[ns]', freq='AS-JAN')
Rezultatem jest lista sześciu dat oddalonych od siebie o rok.
Uwaga : Pełną dokumentację online funkcji pd.date_range() można znaleźć tutaj .
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe operacje na datach w pandach:
Jak filtrować wiersze Pandas DataFrame według daty
Jak posortować ramkę danych Pandas według daty
Jak wyodrębnić miesiąc z daty w Pandach