Python Pandas:CustomBusinessDayオフセットオブジェクトの作成方法
CustomBusinessDay(カスタム営業日)オフセットオブジェクトを作成するには、Pandasの pd.tseries.offsets.CustomBusinessDay() メソッドを使用します。この記事では、実際のコード例を通じて、その基本的な使い方をわかりやすく解説します。
必要なライブラリのインポート
まず、Pandasをインポートします。
import pandas as pd
CustomBusinessDayオフセットの作成
CustomBusinessDayは、祝日や特定の曜日を除外した「カスタム営業日」を表すDateOffsetのサブクラスです。weekmask パラメータを使うことで、どの曜日を営業日として扱うかを自由に指定できます。
ここでは、「月・火・水・金」を営業日とし、5営業日分のオフセットを作成します(木曜日は除外されます)。
cbdOffset = pd.tseries.offsets.CustomBusinessDay(n=5, weekmask='Mon Tue Wed Fri')
タイムスタンプの設定
次に、基準となるタイムスタンプオブジェクトをPandasで作成します。
timestamp = pd.Timestamp('2021-12-31 08:35:10')
オフセットの適用と結果の表示
タイムスタンプにオフセットを加算すると、カスタム営業日ベースで計算された新しい日時が得られます。
print("\nUpdated Timestamp...\n", timestamp + cbdOffset)
完全なコード例
以下に、ここまでの手順をまとめた完全なサンプルコードを示します。
import pandas as pd
# タイムスタンプオブジェクトを設定
timestamp = pd.Timestamp('2021-12-31 08:35:10')
# タイムスタンプを表示
print("Timestamp...\n", timestamp)
# CustomBusinessDayオフセットを作成
# 祝日を除くカスタム営業日を表すDateOffsetのサブクラス
# 有効な営業日のweekmaskを指定(木曜日を除外)
cbdOffset = pd.tseries.offsets.CustomBusinessDay(n=5, weekmask='Mon Tue Wed Fri')
# CustomBusinessDayオフセットを表示
print("\nCustomBusinessDay Offset...\n", cbdOffset)
# オフセットをタイムスタンプに加算し、更新後の日時を表示
print("\nUpdated Timestamp...\n", timestamp + cbdOffset)
出力結果
上記のコードを実行すると、次のような出力が得られます。
Timestamp... 2021-12-31 08:35:10 CustomBusinessDay Offset... <5 * CustomBusinessDays> Updated Timestamp... 2022-01-10 08:35:10
結果の解説
基準日である2021年12月31日は金曜日です。ここから5営業日を数えると、以下のように計算されます。
- 1月3日(月):1営業日目
- 1月4日(火):2営業日目
- 1月5日(水):3営業日目
- 1月6日(木):除外(weekmaskに含まれない)
- 1月7日(金):4営業日目
- 1月8日〜9日(土日):除外
- 1月10日(月):5営業日目
そのため、最終的な結果は 2022年1月10日 08:35:10 となります。このようにCustomBusinessDayを使えば、企業独自の休業日や特定の曜日を考慮した日付計算を簡単に実装できます。
-
PandasのTimestampオブジェクトをPythonネイティブのdatetimeオブジェクトに変換する方法
Pandasで扱う Timestamp オブジェクトを、Python標準ライブラリの datetime オブジェクトに変換したい場面はよくあります。その場合は、to_pydatetime() メソッドを使用します。このメソッドを呼び出すだけで、Pandas独自のTimestamp型がネイティブの datetime.datetime 型へと簡単に変換できます。 必要なライブラリのインポート まず、必要なライブラリをインポートします。 import pandas as pd Timestampオブジェクトの作成 次に、PandasでTimestampオブジェクトを作成します。日時を表す文字列を引数
-
【Pandas入門】Pythonでタイムスタンプを比較する方法をわかりやすく解説
はじめに:Pandasでのタイムスタンプ比較の基本 データ分析の現場では、日付や時刻のデータ(タイムスタンプ)を扱う場面が非常に多くあります。例えば「購入日と整備日の差は何日か」「特定の日付以降のレコードだけを抽出したい」といったケースです。 Pandasでは、インデックス演算子(角括弧 [])を使って列にアクセスし、タイムスタンプ同士を直接比較・差分計算することができます。この記事では、具体的なサンプルコードを通じて、その方法をわかりやすく解説します。 1. ライブラリのインポート まず、必要なライブラリであるPandasをインポートします。 import pandas as pd 2.