Python
 Computer >> コンピューター >  >> プログラミング >> Python

【Python・Pandas】BusinessDayオフセットに適用された増分の数を取得する方法(BusinessDay.n)

はじめに

PandasでBusinessDay(営業日)オフセットに適用された増分の数を取得するには、BusinessDay.nプロパティを使用します。n属性は、オフセット生成時に指定した「n」の値、つまり何営業日分の日付をずらすかという数値をそのまま返します。

この記事では、実際のコード例と実行結果をもとに、BusinessDay.nプロパティの使い方をわかりやすく解説します。

手順1:必要なライブラリをインポートする

まず、必要なライブラリをインポートします。

import datetime
import pandas as pd

手順2:タイムスタンプオブジェクトを作成する

次に、Pandasでタイムスタンプオブジェクトを設定します。

timestamp = pd.Timestamp('2021-10-30 01:55:02.000045')

手順3:BusinessDayオフセットを作成する

BusinessDayオフセットを作成します。BusinessDayはDateOffsetのサブクラスであり、土曜・日曜(週末)を除外した営業日ベースで日付を計算できるのが特徴です。

bdOffset = pd.tseries.offsets.BusinessDay(n = 6)

手順4:更新後のタイムスタンプと増分の数を表示する

オフセットを適用した更新後のタイムスタンプを表示し、続けてBusinessDayオブジェクトに適用された増分の数を返します。

print('\nUpdated Timestamp...\n', timestamp + bdOffset)
print('\nThe count of increments on the BusinessDay object..\n', bdOffset.n)

完全なサンプルコード

以下は、ここまでの手順をすべてまとめたコード例です。

import datetime
import pandas as pd

# Pandasでタイムスタンプオブジェクトを設定
timestamp = pd.Timestamp('2021-10-30 01:55:02.000045')

# タイムスタンプを表示
print('Timestamp...\n', timestamp)

# BusinessDayオフセットを作成
# BusinessDayはDateOffsetのサブクラス
bdOffset = pd.tseries.offsets.BusinessDay(n = 6)

# BusinessDayオフセットを表示
print('\nBusinessDay Offset...\n', bdOffset)

# オフセット適用後のタイムスタンプを表示
print('\nUpdated Timestamp...\n', timestamp + bdOffset)

# 指定したBusinessDayオブジェクトの頻度を文字列として返す
print('\nFrequency on the given BusinessDay Offset...\n', bdOffset.freqstr)

# 指定したBusinessDayオブジェクトに適用された増分の数を返す
print('\nThe count of increments on the BusinessDay object..\n', bdOffset.n)

実行結果

上記のコードを実行すると、次のような出力が得られます。

Timestamp...
 2021-10-30 01:55:02.000045

BusinessDay Offset...
 <6 * BusinessDays>

Updated Timestamp...
 2021-11-08 01:55:02.000045

Frequency on the given BusinessDay Offset...
 6B

The count of increments on the BusinessDay object..
 6

結果の解説

実行結果から、以下のことが確認できます。

増分の数:n = 6で作成したBusinessDayオフセットに対してbdOffset.nを呼び出すと、「6」が返されます。これはオフセット作成時に指定した値と一致します。

日付の計算結果:基準日「2021年10月30日」は土曜日です。ここに6営業日を加算すると「2021年11月8日(月曜日)」になります。週末の土日はカウントから除外されるため、単純な6日後ではなく営業日ベースで計算されている点に注目してください。

freqstr:bdOffset.freqstrは、オフセットの頻度を文字列「6B」として返します。「B」は営業日(Business Day)を意味します。

まとめ

BusinessDayオフセットに適用された増分の数を確認したい場合は、BusinessDay.nプロパティを使います。営業日ベースの日付計算では週末が自動的にスキップされるため、実務での期日計算やデータ分析において非常に便利な機能です。

  1. Python・Pandas入門:オフセットオブジェクトに適用された頻度の名前を取得する方法

    Pandasでオフセット(DateOffset)オブジェクトに適用されている頻度の名前を取得するには、offset.name プロパティを使用します。この記事では、具体的なコード例とともにその使い方を解説します。必要なライブラリのインポートまず、必要なライブラリをインポートします。from pandas.tseries.frequencies import to_offset import pandas as pdタイムスタンプの作成Pandasでタイムスタンプオブジェクトを設定します。timestamp = pd.Timestamp(2021-09-26 03:25:02.000045)Da

  2. Python Pandas – 指定したDateOffsetオブジェクトに適用された頻度を返す方法

    Pandasで指定されたDateOffsetオブジェクトに適用されている頻度を取得するには、offset.freqstr属性を使用します。この属性は、DateOffsetオブジェクトに設定された頻度を「5D」のような文字列形式で返してくれます。また、to_offset()関数を使うことで、頻度を表す文字列からDateOffsetオブジェクトを簡単に生成できます。 まず、必要なライブラリをインポートしましょう。 from pandas.tseries.frequencies import to_offset import pandas as pd 次に、Pandasでタイムスタンプオブジェクトを