Pandas で日付範囲を作成する方法 (3 つの例)
pandas.date_range()関数を使用して、pandas で日付範囲を作成できます。
この関数は次の基本構文を使用します。
pandas.date_range(開始、終了、期間、頻度など)
金:
- start : 開始日
- end : 終了日
- period:生成する期間の数
- freq : 使用する周波数 (周波数エイリアスについてはこのリストを参照してください)
次の例は、この関数を実際に使用する方法を示しています。
例 1: 個々の日の日付範囲を作成する
次のコードは、特定の開始日と終了日を持つ個々の日で構成される日付範囲を作成する方法を示しています。
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')
結果は、指定した開始日から指定した終了日までの 10 日間のリストです。
例 2: 特定の期間数で日付範囲を作成する
次のコードは、特定の開始日と終了日の間に等距離にある特定の期間数の日付範囲を作成する方法を示しています。
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)
結果は、指定された開始日から指定された終了日までの等距離の 3 日のリストです。
例 3: 特定の頻度で日付範囲を作成する
次のコードは、特定の日付に始まり、開始日の頻度が 6 か月である日付範囲を作成する方法を示しています。
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')
結果は、それぞれ 1 か月間隔で配置された 6 つの日付のリストです。 「 MS 」は「月の初め」を意味することに注意してください。日付エイリアスの完全なリストはここで見つけることができます。
次のコードは、特定の日付から始まり、毎年の頻度を持つ日付範囲を作成する方法を示しています。
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')
結果は、それぞれ 1 年間隔で配置された 6 つの日付のリストです。
注: pd.date_range()関数の完全なオンライン ドキュメントは、ここで見つけることができます。
追加リソース
次のチュートリアルでは、パンダで日付を使用して他の一般的な操作を行う方法を説明します。
Pandas DataFrame 行を日付でフィルターする方法
Pandas DataFrame を日付で並べ替える方法
Pandasで日付から月を抽出する方法