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

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *