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

Python Pandas – CustomBusinessDayオフセットに適用されたweekmask(営業日マスク)を取得する方法

CustomBusinessDayオフセットに適用されているweekmask(有効な営業日のマスク)を取得するには、PandasのCustomBusinessDay.weekmaskプロパティを使用します。このプロパティにアクセスすることで、カスタム営業日オフセットがどの曜日を営業日として扱っているかを文字列形式で確認できます。

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

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

import pandas as pd

タイムスタンプの設定

PandasでTimestampオブジェクトを作成します。

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

CustomBusinessDayオフセットの作成

次に、CustomBusinessDayオフセットを作成します。CustomBusinessDayはDateOffsetのサブクラスで、祝日などを除外したカスタム営業日を表します。ここでは、有効な営業日として「月・火・水・金」を指定したweekmaskを設定しています。

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

オフセットの適用とweekmaskの表示

作成したオフセットをTimestampに加算し、更新後のタイムスタンプを表示します。

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

続いて、weekmaskを表示します。

print("\nThe weekmask on the CustomBusinessDay object..\n", cbdOffset.weekmask)

サンプルコード全体

以下は、これまでの手順をまとめた完全なコード例です。

import pandas as pd

# Timestampオブジェクトを作成
timestamp = pd.Timestamp('2021-10-22 03:10:35')

# Timestampを表示
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)

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

# 適用されている頻度を文字列として返す
print("\nFrequency applied on the given CustomBusinessDay Offset object...\n", cbdOffset.freqstr)

# 増分回数(n)を返す
print("\nThe count of increments on the CustomBusinessDay object..\n", cbdOffset.n)

# weekmaskを表示
print("\nThe weekmask on the CustomBusinessDay object..\n", cbdOffset.weekmask)

実行結果

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

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

The weekmask on the CustomBusinessDay object..
 Mon Tue Wed Fri

出力結果からわかるように、cbdOffset.weekmaskは設定した「Mon Tue Wed Fri」を返しています。つまり、このCustomBusinessDayオフセットでは木曜日と土日が営業日として扱われていないことが確認できます。また、2021年10月22日(金曜日)から4営業日進めると、10月29日(金曜日)になっている点にも注目してください。

  1. Python・PandasのTimestampオブジェクトから曜日を取得する方法

    PandasのTimestampオブジェクトから曜日を取得するには、timestamp.weekday()メソッドを使用します。このメソッドは、対象の日付が何曜日に該当するかを数値で返してくれます。まずは、必要なライブラリをインポートしましょう。import pandas as pd import datetimeTimestampオブジェクトの作成次に、Pandasでタイムスタンプを設定し、Timestampオブジェクトを作成します。ここでは例として「2021年5月12日」を使用します。timestamp = pd.Timestamp(datetime.datetime(2021, 5, 1

  2. Python PandasでUTCオフセット時間を取得する方法

    PandasでタイムスタンプのUTCオフセット時間を取得するには、timestamp.utcoffset()メソッドを使用します。このメソッドは、タイムゾーンが設定されたTimestampオブジェクトに対して、協定世界時(UTC)からのずれ(オフセット)を返します。まずは、必要なライブラリをインポートしましょう。import pandas as pd手順1:タイムスタンプの作成次に、タイムゾーンとして「UTC」を指定してTimestampオブジェクトを作成します。timestamp = pd.Timestamp(2021-10-16T15:12:34.261811624, tz=UTC)手順2