Python PandasでCustomBusinessHourオフセットオブジェクトを作成する方法
PandasでCustomBusinessHour(カスタム営業時間)オブジェクトを作成するには、pandas.tseries.offsets.CustomBusinessHour()メソッドを使用します。CustomBusinessHourはDateOffsetのサブクラスであり、営業日や営業時間帯を自由にカスタマイズできる便利なオフセット機能です。
必要なライブラリのインポート
まず、必要なライブラリをインポートします。
import pandas as pd
タイムスタンプの設定
Pandasでタイムスタンプオブジェクトを設定します。
timestamp = pd.Timestamp('2021-12-31 08:35:10')
CustomBusinessHourオフセットの作成
CustomBusinessHourオフセットを作成します。CustomBusinessHourはDateOffsetのサブクラスです。
nパラメータには移動させる営業時間の数を指定し、weekmaskパラメータには有効な営業日を指定します。ここでは「月・火・水・金」を営業日として設定しています(木曜日は除外されています)。
cbhOffset = pd.tseries.offsets.CustomBusinessHour(n = 5, weekmask = 'Mon Tue Wed Fri')
オフセットの表示
作成したCustomBusinessHourオフセットを表示します。
print("\nCustomBusinessHour Offset...\n", cbhOffset)
タイムスタンプへのオフセットの加算
タイムスタンプにオフセットを加算し、更新されたタイムスタンプを表示します。
print("\nUpdated Timestamp...\n", timestamp + cbhOffset)
コード例
以下に完全なコードを示します。
import pandas as pd
# Pandasでタイムスタンプオブジェクトを設定
timestamp = pd.Timestamp('2021-12-31 08:35:10')
# タイムスタンプを表示
print("Timestamp...\n", timestamp)
# CustomBusinessHourオフセットを作成
# CustomBusinessHourはDateOffsetのサブクラス
# weekmaskで有効な営業日を指定
cbhOffset = pd.tseries.offsets.CustomBusinessHour(n = 5, weekmask = 'Mon Tue Wed Fri')
# CustomBusinessHourオフセットを表示
print("\nCustomBusinessHour Offset...\n", cbhOffset)
# タイムスタンプにオフセットを加算し、更新されたタイムスタンプを表示
print("\nUpdated Timestamp...\n", timestamp + cbhOffset)
出力結果
上記のコードを実行すると、次のような出力が得られます。
Timestamp... 2021-12-31 08:35:10 CustomBusinessHour Offset... <5 * CustomBusinessHours: CBH=09:00-17:00> Updated Timestamp... 2021-12-31 14:00:00
このように、CustomBusinessHourオフセットを使用することで、デフォルトの営業時間(09:00〜17:00)と指定した営業日に基づいて、タイムスタンプを正確に進めることができます。元のタイムスタンプは08:35:10ですが、営業開始時刻が09:00であるため、まず09:00まで移動してから5営業時間分が加算され、14:00:00という結果になっています。
-
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.