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

Python Pandas – BusinessHourオフセットが正規化されているか確認する方法

Pandasでは、BusinessHour.normalizeプロパティを使用することで、BusinessHourオフセットが正規化(normalize)されているかどうかを簡単に確認できます。この記事では、具体的なコード例とともにその手順を解説します。

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

まず、必要なライブラリをインポートします。

import pandas as pd

タイムスタンプの設定

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

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

BusinessHourオフセットの作成

BusinessHourオフセットを作成します。ここでは「normalize」パラメータを使って、BusinessHourを正規化しています。

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

補足:BusinessHourはDateOffsetのサブクラスです。「start」はカスタム営業時間の開始時刻、「end」は終了時刻を24時間形式で指定します。

更新されたタイムスタンプの表示

オフセット適用後のタイムスタンプを表示します。

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

正規化されているかどうかの確認

BusinessHourオフセットが正規化されているかどうかをチェックします。

print("\nThe BusinessHour Offset is normalized ?\n", bhOffset.normalize)

完全なコード例

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

import pandas as pd

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

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

# BusinessHourオフセットを作成
# BusinessHourはDateOffsetのサブクラス
# 「start」はカスタム営業時間の開始時刻(24時間形式)
# 「end」はカスタム営業時間の終了時刻(24時間形式)
# 「normalize」パラメータでBusinessHourを正規化
bhOffset = pd.tseries.offsets.BusinessHour(start="09:30", end = "18:00", normalize=True)

# BusinessHourオフセットを表示
print("\nBusinessHour Offset...\n",bhOffset)

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

# BusinessHourオフセットが正規化されているかどうかを確認
print("\nThe BusinessHour Offset is normalized ?\n", bhOffset.normalize)

実行結果

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

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

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

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

The BusinessHour Offset is normalized ?
 True

出力結果からわかるように、bhOffset.normalizeTrueを返しており、BusinessHourオフセットが正規化されていることが確認できます。また、正規化によって更新後のタイムスタンプの時刻部分が「00:00:00」に丸められている点にも注目してください。

  1. Pythonで指定した基数表現に0が連続して含まれるかどうかを判定する方法

    プログラミングでは、ある数値を特定の基数(進法)で表したとき、その桁並びの中に「0」が連続して現れるかどうかを調べたいことがあります。本記事では、Pythonを使ってこの判定を行う方法を解説します。 実装の流れとしては、数値と基数を引数として受け取る関数を定義し、その内部で別の補助関数を呼び出すことで、条件を満たすかどうかに応じて「Yes」または「No」を出力します。 サンプルコード 0): res = False continue res = True return True N, K = 8, 2 print(Do

  2. Pythonで与えられた数値がユークリッド数(Euclid Number)かどうかを判定する方法

    ユークリッド数とは? ある整数 n が与えられたとき、それがユークリッド数であるかどうかを判定することを考えます。ユークリッド数とは、次の式で表すことができる整数のことです。 n = Pn + 1 ここで Pn は「最初の n 個の素数の積」を意味します。 例として、入力が n = 211 の場合を考えてみましょう。211 は次のように表せるため、出力は True になります。 211 = (2 × 3 × 5 × 7) + 1 解決のためのアプローチ この問題は、以下の手順で解くことができます。 上限値 MAX を 10000 に設定し、空の素数リスト primes を用意します。 関数