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

Python Pandas – 指定したCustomBusinessHourオフセットオブジェクトに適用された頻度の名前を取得する方法

指定されたCustomBusinessHourオフセットオブジェクトに適用されている頻度(frequency)の名前を取得するには、Pandasの CustomBusinessHour.name プロパティを使用します。この記事では、実際のコード例とともに、その使い方をわかりやすく解説します。

CustomBusinessHourとは

CustomBusinessHour はPandasの DateOffset のサブクラスで、営業時間や稼働曜日をカスタマイズできるオフセットです。デフォルトでは月〜金の9:00〜17:00が営業時間として扱われますが、weekmask パラメータを使えば、土曜日を含めるなど柔軟な設定が可能です。

実装の手順

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

import pandas as pd

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

timestamp = pd.Timestamp('2021-10-25 08:35:10')

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

n=3 で3時間のオフセットを指定し、weekmask で有効な営業日を「月・火・水・金・土」に設定しています。

cbhOffset = pd.tseries.offsets.CustomBusinessHour(n = 3, weekmask = 'Mon Tue Wed Fri Sat')

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

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

5. 頻度の名前を取得する

name プロパティにアクセスすることで、対象のCustomBusinessHourオブジェクトに適用されている頻度の名前を文字列として取得できます。

print("\nThe name of the frequency on the CustomBusinessHour object..\n", cbhOffset.name)

完全なコード例

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

import pandas as pd

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

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

# CustomBusinessHourオフセットを作成
# CustomBusinessHourはDateOffsetのサブクラス
# weekmaskで有効な営業日を指定
cbhOffset = pd.tseries.offsets.CustomBusinessHour(n = 3, weekmask = 'Mon Tue Wed Fri Sat')

# CustomBusinessHourオフセットを表示
print("\nCustomBusinessHour Offset...\n", cbhOffset)

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

# 対象のCustomBusinessHourオフセットオブジェクトに適用された頻度を文字列として返す
print("\nFrequency applied on the given CustomBusinessHour Offset object...\n", cbhOffset.freqstr)

# 対象のCustomBusinessHourオブジェクトに適用された頻度の名前を返す
print("\nThe name of the frequency on the CustomBusinessHour object..\n", cbhOffset.name)

実行結果

上記のコードを実行すると、次のような出力が得られます。

Timestamp...
 2021-10-25 08:35:10

CustomBusinessHour Offset...
 <3 * CustomBusinessHours: CBH=09:00-17:00>

Updated Timestamp...
 2021-10-25 12:00:00

Frequency applied on the given CustomBusinessHour Offset object...
 3CBH

The name of the frequency on the CustomBusinessHour object..
 CBH

出力結果のポイント

  • freqstr: オフセットに適用された頻度を「3CBH」のように回数を含む文字列で返します。
  • name: 頻度の名前のみを「CBH」という短い形式で返します。
  • タイムスタンプ「2021-10-25 08:35:10」は営業開始時刻(9:00)より前のため、3時間のオフセットを加算すると同日の12:00になります。

このように、name プロパティと freqstr プロパティを使い分けることで、CustomBusinessHourオフセットの頻度情報を目的に応じて簡単に確認できます。

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

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

  2. Python Pandas - 指定したPeriodオブジェクトに適用された時系列頻度の文字列エイリアスを取得する方法

    指定したPeriodオブジェクトに適用されている時系列頻度(frequency)の文字列エイリアスを取得するには、period.freqstrプロパティを使用します。このプロパティは、Periodオブジェクトに設定された頻度を「<Second>」や「<YearEnd: month=12>」といった文字列表現で返します。必要なライブラリのインポートまず、pandasをインポートします。import pandas as pdpandas.Periodは、特定の期間(時間帯)を表すオブジェクトです。ここでは、2つのPeriodオブジェクトを作成してみましょう。period1