Pythonパンダ-日付機能
時系列を拡張すると、日付機能が財務データ分析で主要な役割を果たします。日付データを操作しているときに、次のことに頻繁に遭遇します。
- 日付のシーケンスの生成
- 日付系列を異なる頻度に変換する
日付の範囲を作成する
を使用して date.range()期間と頻度を指定することで関数を作成し、日付系列を作成できます。デフォルトでは、範囲の頻度は日数です。
import pandas as pd
print pd.date_range('1/1/2011', periods=5)
その output 次のとおりです-
DatetimeIndex(['2011-01-01', '2011-01-02', '2011-01-03', '2011-01-04', '2011-01-05'],
dtype='datetime64[ns]', freq='D')
日付の頻度を変更する
import pandas as pd
print pd.date_range('1/1/2011', periods=5,freq='M')
その output 次のとおりです-
DatetimeIndex(['2011-01-31', '2011-02-28', '2011-03-31', '2011-04-30', '2011-05-31'],
dtype='datetime64[ns]', freq='M')
bdate_range
bdate_range()は、営業日の範囲を表します。date_range()とは異なり、土曜日と日曜日は除外されます。
import pandas as pd
print pd.date_range('1/1/2011', periods=5)
その output 次のとおりです-
DatetimeIndex(['2011-01-01', '2011-01-02', '2011-01-03', '2011-01-04', '2011-01-05'],
dtype='datetime64[ns]', freq='D')
3月3日以降、日付が4日と5日を除く3月6日にジャンプすることに注意してください。カレンダーで日を確認してください。
のような便利な機能 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)
その output 次のとおりです-
DatetimeIndex(['2011-01-01', '2011-01-02', '2011-01-03', '2011-01-04', '2011-01-05'],
dtype='datetime64[ns]', freq='D')
オフセットエイリアス
有用な一般的な時系列頻度には、いくつかの文字列エイリアスが与えられています。これらのエイリアスをオフセットエイリアスと呼びます。
エイリアス | 説明 | エイリアス | 説明 |
---|---|---|---|
B | 営業日の頻度 | BQS | 事業四半期の開始頻度 |
D | 暦日の頻度 | A | 年間(年)終了頻度 |
W | 毎週の頻度 | BA | 事業年度末の頻度 |
M | 月末の頻度 | BAS | 事業年度の開始頻度 |
SM | 半月末の頻度 | BH | 営業時間の頻度 |
BM | 営業月末の頻度 | H | 時間ごとの頻度 |
MS | 月の開始頻度 | T、分 | 毎分頻度 |
SMS | SMSの半月の開始頻度 | S | 第二に頻度 |
BMS | 営業月の開始頻度 | L、ms | ミリ秒 |
Q | 四半期末の頻度 | U、私たち | マイクロ秒 |
BQ | 事業四半期の終了頻度 | N | ナノ秒 |
QS | 四半期開始頻度 |