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

【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プロパティを使えば、適用されている頻度を文字列形式で確認することも可能です。営業日ベースの時系列データ処理において、これらのプロパティは非常に便利です。

  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