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

Python Pandas:CustomBusinessDayオフセットに適用された増分の数を返す方法

CustomBusinessDayオフセットに適用された増分の数を取得するには、PandasのCustomBusinessDay.nプロパティを使用します。

CustomBusinessDayオフセットとは

CustomBusinessDayは、PandasのDateOffsetサブクラスの一つで、祝日や特定の曜日を除外したカスタム営業日を表現できる便利な機能です。weekmaskパラメータを指定することで、どの曜日を営業日として扱うかを柔軟に設定できます。

実装の手順

1. 必要なライブラリをインポートする

import pandas as pd

2. タイムスタンプオブジェクトを設定する

timestamp = pd.Timestamp('2021-10-22 03:10:35')

3. CustomBusinessDayオフセットを作成する

ここでは、増分数をn=4、営業日を「月・火・水・金」(weekmask='Mon Tue Wed Fri')に設定したオフセットを作成します。

cbdOffset = pd.tseries.offsets.CustomBusinessDay(n = 4, weekmask = 'Mon Tue Wed Fri')

4. タイムスタンプにオフセットを加算して表示する

print("\nUpdated Timestamp...\n", timestamp + cbdOffset)

5. 増分の数を取得する

print("\nThe count of increments on the CustomBusinessDay object..\n", cbdOffset.n)

完全なサンプルコード

import pandas as pd

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

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

# CustomBusinessDayオフセットを作成
# CustomBusinessDayは、祝日を除外したカスタム営業日を表すDateOffsetのサブクラスです
# weekmaskで有効な営業日(曜日)を指定します
cbdOffset = pd.tseries.offsets.CustomBusinessDay(n = 4, weekmask = 'Mon Tue Wed Fri')

# CustomBusinessDayオフセットを表示
print("\nCustomBusinessDay Offset...\n", cbdOffset)

# タイムスタンプにオフセットを加算し、更新後のタイムスタンプを表示
print("\nUpdated Timestamp...\n", timestamp + cbdOffset)

# 指定したCustomBusinessDayオフセットオブジェクトに適用されている頻度を文字列として返す
print("\nFrequency applied on the given CustomBusinessDay Offset object...\n", cbdOffset.freqstr)

# 指定したCustomBusinessDayオブジェクトの増分の数を返す
print("\nThe count of increments on the CustomBusinessDay object..\n", cbdOffset.n)

出力結果

上記のコードを実行すると、以下の出力が得られます。

Timestamp...
 2021-10-22 03:10:35

CustomBusinessDay Offset...
 <4 * CustomBusinessDays>

Updated Timestamp...
 2021-10-29 03:10:35

Frequency applied on the given CustomBusinessDay Offset object...
 4C

The count of increments on the CustomBusinessDay object..
 4

出力結果の解説

元のタイムスタンプは2021年10月22日(金曜日)です。weekmaskで「月・火・水・金」が営業日として指定されているため、土曜日と日曜日はスキップされます。そのため、n=4の増分を適用すると、翌週の金曜日にあたる2021年10月29日が結果になります。

また、freqstrプロパティは頻度を表す文字列「4C」を返し、nプロパティは増分の数である「4」を返します。

  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でタイムスタンプオブジェクトを