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

Python Pandas入門:BusinessDayオブジェクトのrule_codeプロパティでルールコードを取得する方法

指定した BusinessDay オブジェクトに適用されているルールコードを取得するには、Pandas の BusinessDay.rule_code プロパティを使用します。このプロパティは、オフセットに設定された頻度(frequency)を表す文字列のコードを返します。

必要なライブラリのインポート

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

import datetime
import pandas as pd

タイムスタンプの作成

Pandas でタイムスタンプオブジェクトを作成します。

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

BusinessDay オフセットの作成

次に、BusinessDay オフセットを作成します。BusinessDay は DateOffset のサブクラスであり、営業日ベースの日付計算に使用されます。ここでは、オフセットとして8時間10分を指定しています。

bdOffset = pd.tseries.offsets.BusinessDay(offset = datetime.timedelta(hours = 8, minutes = 10))

更新後のタイムスタンプの表示

BusinessDay オフセットを適用した後のタイムスタンプを表示します。

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

ルールコードの取得

指定した BusinessDay オフセットに適用されている頻度のルールコードを返します。

print("\nThe rule code of the BusinessDay object..\n", bdOffset.rule_code)

完全なコード例

以下に、ここまでの手順をまとめた完全なコードを示します。

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(offset = datetime.timedelta(hours = 8, minutes = 10))

# 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 rule code of the BusinessDay object..\n", bdOffset.rule_code)

実行結果

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

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

BusinessDay Offset...
 <BusinessDay: offset=datetime.timedelta(seconds=29400)>

Updated Timestamp...
 2021-11-01 10:05:02.000045

Frequency on the given BusinessDay Offset...
 B+8H10Min

The rule code of the BusinessDay object..
 B

解説

実行結果から、以下のポイントが確認できます。

  • タイムスタンプの更新: 元のタイムスタンプ「2021-10-30」は土曜日だったため、BusinessDay オフセットを加算すると、次の営業日である「2021-11-01(月曜日)」に移動し、そこに8時間10分が加算されています。
  • freqstr プロパティ: 適用された頻度を文字列「B+8H10Min」として返します。「B」は営業日(Business Day)を意味します。
  • rule_code プロパティ: 頻度の基本となるルールコード「B」のみを返します。追加のオフセット情報(時間・分)は含まれません。

このように、rule_code プロパティを使うことで、BusinessDay オブジェクトに設定された頻度の種類を簡潔なコード形式で確認できます。

  1. Python Pandas – 指定されたDateOffsetオブジェクトのナノ秒数を取得する方法

    Pandasで指定されたDateOffsetオブジェクトに含まれるナノ秒数を取得するには、offset.nanosプロパティを使用します。このプロパティは、オフセットが固定長(ナノ秒で表現可能な期間)である場合に、そのナノ秒数を整数値として返します。必要なライブラリのインポートまず、必要なライブラリをインポートします。from pandas.tseries.frequencies import to_offset import pandas as pdタイムスタンプの作成Pandasでタイムスタンプオブジェクトを設定します。timestamp = pd.Timestamp(2021-08-30

  2. Python Pandas – 指定されたDateOffsetオブジェクトに適用される頻度を文字列として取得する方法

    指定された DateOffset オブジェクトに適用されている頻度を文字列として取得するには、Pandas の offset.freqstr プロパティを使用します。このプロパティを使うことで、DateOffset オブジェクトに設定された頻度の情報を簡単に確認できます。必要なライブラリのインポートまず、必要なライブラリをインポートします。from pandas.tseries.offsets import DateOffset import pandas as pdタイムスタンプオブジェクトの設定Pandas でタイムスタンプオブジェクトを設定します。timestamp = pd.Times