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

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

指定された BusinessHour Offset オブジェクトに適用された頻度(frequency)を文字列として取得するには、Pandas の BusinessHour.freqstr プロパティを使用します。このプロパティは、オフセットオブジェクトが持つ頻度情報を「BH」のような短い文字列形式で返してくれます。

手順1:必要なライブラリをインポートする

まず、pandas をインポートします。

import pandas as pd

手順2:タイムスタンプを作成する

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

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

手順3:BusinessHour Offset を作成する

次に、営業時間を表す BusinessHour Offset を作成します。start にはカスタム営業時間の開始時刻、end には終了時刻を24時間形式で指定します。

bhOffset = pd.tseries.offsets.BusinessHour(start="09:30", end="18:00")

手順4:更新後のタイムスタンプを表示する

タイムスタンプにオフセットを加算した結果を表示します。

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

手順5:適用された頻度を文字列として返す

freqstr プロパティを使って、指定された BusinessHour Offset オブジェクトに適用されている頻度を文字列として出力します。

print("\nFrequency applied on the given BusinessHour Offset object...\n", bhOffset.freqstr)

完全なコード例

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

import pandas as pd

# Pandasでタイムスタンプオブジェクトを設定
timestamp = pd.Timestamp('2021-1-1 01:55:30')

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

# BusinessHour Offsetを作成
# BusinessHourはDateOffsetのサブクラスです
# startはカスタム営業時間の開始時刻(24時間形式)
# endはカスタム営業時間の終了時刻(24時間形式)
bhOffset = pd.tseries.offsets.BusinessHour(start="09:30", end="18:00")

# BusinessHour Offsetを表示
print("\nBusinessHour Offset...\n", bhOffset)

# 更新後のタイムスタンプを表示
print("\nUpdated Timestamp...\n", timestamp + bhOffset)

# 指定されたBusinessHour Offsetオブジェクトに適用された頻度を文字列として返す
print("\nFrequency applied on the given BusinessHour Offset object...\n", bhOffset.freqstr)

実行結果

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

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

BusinessHour Offset...
 <BusinessHour: BH=09:30-18:00>

Updated Timestamp...
 2021-01-01 10:30:00

Frequency applied on the given BusinessHour Offset object...
 BH

出力の解説

元のタイムスタンプは「2021-01-01 01:55:30」ですが、これは営業時間(09:30〜18:00)の範囲外です。そのため、BusinessHour Offset を加算すると、直近の営業開始時刻である「2021-01-01 10:30:00」に移動します。また、freqstr プロパティによって、このオフセットに適用された頻度が「BH」(Business Hour)という文字列として返されていることが確認できます。

  1. Python Pandas – PeriodIndexオブジェクトから頻度オブジェクトを文字列として取得する方法

    PeriodIndexオブジェクトから頻度(frequency)オブジェクトを文字列として取得するには、PeriodIndex.freqstrプロパティを使用します。この記事では、実際のコード例を通じてその使い方をわかりやすく解説します。必要なライブラリのインポートまず、pandasライブラリをインポートします。import pandas as pdPeriodIndexオブジェクトの作成次に、PeriodIndexオブジェクトを作成します。PeriodIndexは、時間軸上の一定期間を示す序数値を保持する不変(immutable)なndarrayです。「freq」パラメータで頻度を指定できま

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

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