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

Python Pandas入門:タイムスタンプを週単位の期間(Period)に変換する方法

はじめに

Pandasでは、Timestamp.to_period()メソッドを使うことで、指定したタイムスタンプ(Timestamp)を期間(Period)へ簡単に変換できます。変換時にはfreqパラメータで頻度を指定します。週ごとの頻度にしたい場合は、freqに「W」を設定してください。

この記事では、具体的なコード例とともに、タイムスタンプを週単位の期間に変換する手順をわかりやすく解説します。

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

まず、Pandasをインポートします。

import pandas as pd

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

次に、pd.Timestamp()を使ってタイムスタンプオブジェクトを作成します。年・月・日・時・分・秒・マイクロ秒を指定できます。

timestamp = pd.Timestamp(2021, 9, 18, 11, 50, 20, 33)

タイムスタンプを期間(Period)に変換する

to_period()メソッドを呼び出し、freqパラメータに「W」を指定することで、週単位の頻度で期間へ変換できます。

timestamp.to_period(freq='W')

サンプルコード

以下に完全なコード例を示します。

import pandas as pd

# Pandasでタイムスタンプオブジェクトを作成
timestamp = pd.Timestamp(2021, 9, 18, 11, 50, 20, 33)

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

# タイムスタンプを期間(Period)に変換
# freqパラメータに「W」を指定して、週単位の頻度を設定
print("\nTimestamp to Period with weekly frequency...\n", timestamp.to_period(freq='W'))

実行結果

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

Timestamp...
 2021-09-18 11:50:20.000033
Timestamp to Period with weekly frequency...
 2021-09-13/2021-09-19

解説

実行結果を見ると、元のタイムスタンプ「2021-09-18 11:50:20.000033」が、週単位の期間「2021-09-13/2021-09-19」に変換されていることがわかります。これは、2021年9月18日が属する週(月曜日始まり〜日曜日終わり)を表す期間です。

なお、freqパラメータを変更すれば、日単位(D)、月単位(M)、四半期単位(Q)、年単位(Y)など、さまざまな頻度での変換にも対応できます。時系列データの分析において、粒度の異なる期間へデータを集約したい場合に非常に便利な機能です。

  1. Python Pandas入門:タイムスタンプを分単位のPeriod(期間)に変換する方法

    Pandasでタイムスタンプ(Timestamp)を期間(Period)に変換するには、timestamp.to_period() メソッドを使用します。このメソッドの freq パラメータで頻度を指定でき、分単位の頻度にしたい場合は「T」を設定します。必要なライブラリのインポートまず、Pandasをインポートします。import pandas as pdタイムスタンプオブジェクトの作成次に、pd.Timestamp() を使ってタイムスタンプオブジェクトを作成します。年・月・日・時・分・秒・マイクロ秒を引数として渡せます。timestamp = pd.Timestamp(2021, 9, 6

  2. Python Pandas - 指定したタイムスタンプを期間(Period)に変換する方法

    Pandasで指定したタイムスタンプを期間に変換するには、timestamp.to_period() メソッドを使用します。このメソッドでは、freq パラメータを使って頻度を指定することができます。必要なライブラリのインポートまず、必要なライブラリをインポートします。import pandas as pdタイムスタンプオブジェクトの作成次に、Pandasでタイムスタンプオブジェクトを作成します。timestamp = pd.Timestamp(2021-09-14T15:12:34.261811624)タイムスタンプから期間への変換タイムスタンプを期間に変換します。ここでは、freq パラメ