Python Pandas入門:Periodオブジェクトを分単位の頻度でタイムスタンプに変換する方法
PandasのPeriodオブジェクトを分単位(minute)の頻度を持つタイムスタンプとして取得するには、period.to_timestamp()メソッドを使用し、freqパラメータに'T'を指定します。
必要なライブラリのインポート
まず、必要なライブラリをインポートします。
import pandas as pd
pandas.Periodは、ある期間の時刻情報を表すオブジェクトです。ここではPeriodオブジェクトを作成してみましょう。
period = pd.Period(freq="S", year = 2021, month = 11, day = 26, hour = 11, minute = 45, second = 55)
Periodオブジェクトの表示
作成したPeriodオブジェクトを表示して確認します。
print("Period...\n", period)タイムスタンプへの変換
PeriodオブジェクトのTimestamp表現を返します。「freq」パラメータを使って頻度を指定しており、ここでは'T'(分単位=minutely)を設定しています。
print("\nPeriod to Timestamp with minutely frequency...\n", period.to_timestamp(freq='T'))サンプルコード(完全版)
以下が全体のコード例です。
import pandas as pd
# pandas.Periodは期間の時刻情報を表すオブジェクト
# Periodオブジェクトを作成
period = pd.Period(freq="S", year = 2021, month = 11, day = 26, hour = 11, minute = 45, second = 55)
# Periodオブジェクトを表示
print("Period...\n", period)
# PeriodオブジェクトのTimestamp表現を返す
# freqパラメータで頻度を指定
# 頻度は'T'、つまり分単位(minutely)に設定
print("\nPeriod to Timestamp with minutely frequency...\n", period.to_timestamp(freq='T'))実行結果
上記のコードを実行すると、以下のような出力が得られます。
Period... 2021-11-26 11:45:55 Period to Timestamp with minutely frequency... 2021-11-26 11:45:00
補足:出力結果のポイント
元のPeriodオブジェクトは「2021-11-26 11:45:55」という秒単位の情報を持っていますが、to_timestamp(freq='T')で分単位の頻度を指定することで、秒の情報が切り捨てられ「2021-11-26 11:45:00」というタイムスタンプに変換されていることがわかります。
なお、Pandas 2.2以降では'T'というエイリアスは非推奨となっており、代わりに'min'を使用することが推奨されています。新しいバージョンをお使いの場合は、以下のように記述してください。
period.to_timestamp(freq='min')
-
Python Pandas入門:タイムデルタを分単位の頻度で丸める方法
タイムデルタ(Timedelta)を指定した解像度で丸めるには、round() メソッドを使用します。分単位の頻度で丸めたい場合は、freq パラメータに T を指定します。 必要なライブラリのインポート まず、pandas をインポートします。 import pandas as pd Timedeltaオブジェクトの作成 TimeDeltas は、Python の標準的な datetime ライブラリで使われる timedelta とは異なる表現を持ちます。ここでは、日・時・分・秒・ミリ秒・ナノ秒を含む Timedelta オブジェクトを作成します。 timedelta = pd.Timed
-
Python Pandas入門:タイムスタンプを分単位のPeriod(期間)に変換する方法
Pandasでタイムスタンプ(Timestamp)を期間(Period)に変換するには、timestamp.to_period() メソッドを使用します。このメソッドの freq パラメータで頻度を指定でき、分単位の頻度にしたい場合は「T」を設定します。必要なライブラリのインポートまず、Pandasをインポートします。import pandas as pdタイムスタンプオブジェクトの作成次に、pd.Timestamp() を使ってタイムスタンプオブジェクトを作成します。年・月・日・時・分・秒・マイクロ秒を引数として渡せます。timestamp = pd.Timestamp(2021, 9, 6