【Pandas】CustomBusinessHourオフセットに適用されたweekmask(稼働日マスク)を取得する方法
はじめに
PandasでCustomBusinessHourオフセットに適用されているweekmask(有効な営業日のマスク)を取得するには、CustomBusinessHour.weekmaskプロパティを使用します。この記事では、具体的なコード例とともに、その使い方をわかりやすく解説します。
必要なライブラリのインポート
まず、必要なライブラリをインポートします。
import pandas as pd
タイムスタンプの作成
PandasでTimestampオブジェクトを作成します。
timestamp = pd.Timestamp('2021-11-14 05:20:30')CustomBusinessHourオフセットの作成
次に、CustomBusinessHourオフセットを作成します。CustomBusinessHourはDateOffsetクラスのサブクラスであり、カスタマイズされた営業時間を扱うことができます。ここでは、有効な営業日のweekmaskとして「月・火・水・金」を指定しています。
cbhOffset = pd.tseries.offsets.CustomBusinessHour(n = 7, weekmask = 'Mon Tue Wed Fri')
オフセットの適用と結果の確認
作成したオフセットをTimestampに加算し、更新後のタイムスタンプを表示します。
print("\nUpdated Timestamp...\n",timestamp + cbhOffset)さらに、weekmaskプロパティを使って、CustomBusinessHourオブジェクトに設定されたweekmaskを表示します。
print("\nThe weekmask on the CustomBusinessHour object..\n", cbhOffset.weekmask)完全なコード例
以下が全体のコードです。
import pandas as pd
# PandasでTimestampオブジェクトを作成
timestamp = pd.Timestamp('2021-11-14 05:20:30')
# Timestampを表示
print("Timestamp...\n",timestamp)
# CustomBusinessHourオフセットを作成
# CustomBusinessHourはDateOffsetのサブクラス
# 有効な営業日のweekmaskを指定
cbhOffset = pd.tseries.offsets.CustomBusinessHour(n = 7, weekmask = 'Mon Tue Wed Fri')
# CustomBusinessHourオフセットを表示
print("\nCustomBusinessHour Offset...\n",cbhOffset)
# オフセットをTimestampに加算し、更新後のタイムスタンプを表示
print("\nUpdated Timestamp...\n",timestamp + cbhOffset)
# 適用されている頻度を文字列として返す
print("\nFrequency applied on the given CustomBusinessHour Offset object...\n",cbhOffset.freqstr)
# weekmaskを表示
print("\nThe weekmask on the CustomBusinessHour object..\n", cbhOffset.weekmask)実行結果
上記のコードを実行すると、以下のような出力が得られます。
Timestamp... 2021-11-14 05:20:30 CustomBusinessHour Offset... <7 * CustomBusinessHours: CBH=09:00-17:00> Updated Timestamp... 2021-11-15 16:00:00 Frequency applied on the given CustomBusinessHour Offset object... 7CBH The weekmask on the CustomBusinessHour object.. Mon Tue Wed Fri
まとめ
このように、CustomBusinessHour.weekmaskプロパティを使用することで、CustomBusinessHourオフセットに適用されているweekmaskを簡単に確認できます。出力結果からも分かるように、指定した「Mon Tue Wed Fri」(月・火・水・金)が正しく反映されています。また、freqstrプロパティを使えば、適用されている頻度を文字列形式で確認することも可能です。営業日ベースの時系列データ処理において、これらのプロパティは非常に便利です。
-
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
-
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