English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Pandas 日期関数操作の例
財務データ分析において、時間シーケンスの拡張、日付機能が重要な役割を果たします。日付データを使用する際には、以下のような状況に直面することがよくあります-
日付シーケンスの生成 日付シーケンスを異なる頻度に変換する
date.range()関数を使用して日付と頻度を指定することで、日付シーケンスを作成できます。デフォルトでは、範囲の頻度は日です。
import pandas as pd print(pd.date_range('1/1/2011', periods=5))
以下の結果が得られます:
DatetimeIndex(['2011-01-01', '2011-01-02', '2011-01-03', '2011-01-04', '2011-01-05'],dtype='datetime64[ns]
import pandas as pd print(pd.date_range('1/1/2011', periods=5,freq='M'))
以下の結果が得られます:
DatetimeIndex(['2011-01-31', '2011-02-28', '2011-03-31', '2011-04-30',2011-05-31'],dtype='datetime64[ns]', freq='M')
bdate_range()は営業日範囲を表します。date_range()とは異なり、土曜日と日曜日は含まれません。
import pandas as pd print(pd.date_range('1/1/2011', periods=5))
以下の結果が得られます:
DatetimeIndex(['2011-01-01', '2011-01-02', '2011-01-03', '2011-01-04', '2011-01-05'], dtype='datetime64[ns]
ご注意ください、3月3日以降、日付は3月6日(含まれない)4日と5日)。カレンダーの中の日付をチェックするだけで良いです。
date_rangeやbdate_rangeなどの便利な機能は、様々な頻度の別名を使用しています。date_rangeのデフォルトの頻度はカレンダーデーであり、bdate_rangeのデフォルトの頻度はビジネスデーです。
import pandas as pd start = pd.datetime(2011, 1, 1) end = pd.datetime(2011, 1, 5) print(pd.date_range(start, end))
以下の結果が得られます:
DatetimeIndex(['2011-01-01', '2011-01-02', '2011-01-03', '2011-01-04', '2011-01-05'], dtype='datetime64[ns]
役立つ一般的な時系列頻度のための多くの文字列別名が提供されています。これらの別名をオフセット別名と呼びます。
別名 | 説明 | 別名 | 説明 |
B | 営業日頻度 | BQS | 業務四半期開始頻度 |
D | カレンダーデー頻度 | A | 年間(年)終了頻度 |
W | 週頻度 | BA | 業務年度終了頻度 |
M | 月末頻度 | BAS | 業務年度開始頻度 |
SM | 半月終了頻度 | BH | 業務時間頻度 |
BM | 業務月終了頻度 | H | 時間頻度 |
MS | 月開始頻度 | T, min | 分頻度 |
SMS | 情報半月開始頻度 | S | 次の頻度 |
BMS | 業務月開始頻度 | L, ms | ミリ秒 |
Q | 四半期終了頻度 | U, us | マイクロ秒 |
BQ | 業務四半期終了頻度 | N | ナノ秒 |
QS | 四半期開始頻度 |