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

Python Pandas入門:BusinessDayオフセットオブジェクトに適用された頻度名(name)を取得する方法

指定された BusinessDay オフセットオブジェクトに適用されている頻度の名前を取得するには、Pandas の BusinessDay.name プロパティを使用します。このプロパティは、オフセットオブジェクトに設定された頻度名を文字列として返してくれます。

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

まず、datetime モジュールと pandas をインポートします。

import datetime
import pandas as pd

タイムスタンプオブジェクトの作成

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

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

BusinessDay オフセットの作成

次に、BusinessDay オフセットを作成します。BusinessDay は DateOffset のサブクラスであり、営業日ベースの日付計算に使用されます。ここでは、offset パラメータに timedelta を指定して、8時間10分のオフセットを設定しています。

bdOffset = pd.tseries.offsets.BusinessDay(offset = datetime.timedelta(hours = 8, minutes = 10))

更新後のタイムスタンプの表示

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

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

頻度名の取得

name プロパティを使って、指定された BusinessDay オブジェクトに適用された頻度の名前を返します。

print("\nThe name of the frequency on the BusinessDay object..\n", bdOffset.name)

完全なサンプルコード

以下が実行コード全体です。

import datetime
import pandas as pd

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

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

# BusinessDayオフセットを作成
# BusinessDayはDateOffsetのサブクラス
bdOffset = pd.tseries.offsets.BusinessDay(offset = datetime.timedelta(hours = 8, minutes = 10))

# BusinessDayオフセットを表示
print("\nBusinessDay Offset...\n", bdOffset)

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

# 適用された頻度を文字列として返す
print("\nFrequency on the given BusinessDay Offset...\n", bdOffset.freqstr)

# 適用された頻度の名前を返す
print("\nThe name of the frequency on the BusinessDay object..\n", bdOffset.name)

出力結果

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

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

BusinessDay Offset...
 <BusinessDay: offset=datetime.timedelta(seconds=29400)>

Updated Timestamp...
 2021-11-01 10:05:02.000045

Frequency on the given BusinessDay Offset...
 B+8H10Min

The name of the frequency on the BusinessDay object..
 B

ポイント解説

  • freqstr プロパティは「B+8H10Min」のように、カスタムオフセット情報を含む詳細な頻度文字列を返します。
  • name プロパティは「B」のように、基本となる頻度名のみをシンプルに返します。
  • タイムスタンプ「2021-10-30」は土曜日のため、BusinessDay オフセットを加算すると翌営業日の月曜日「2021-11-01」に移動し、さらに8時間10分が加算された時刻になっている点に注目してください。
  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