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

Python Pandas入門:PeriodIndexオブジェクトから期間の「分」を取得する方法

PythonのPandasでPeriodIndexオブジェクトから各期間の「分(minute)」を取得したい場合は、PeriodIndex.minuteプロパティを使用します。この記事では、実際のコード例と実行結果をもとに、その使い方をわかりやすく解説します。

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

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

import pandas as pd

PeriodIndexオブジェクトの作成

次に、PeriodIndexオブジェクトを作成します。PeriodIndexは、時刻上の一定周期を示す序数値を保持する不変(イミュータブル)なndarrayです。ここでは、日時文字列のリストを渡し、freqパラメータで頻度を「分(T)」に設定しています。

periodIndex = pd.PeriodIndex(['2021-09-25 07:30:35', '2019-10-30 04:15:45',
'2021-07-15 02:55:15', '2022-06-25 09:40:55'], freq="T")

PeriodIndexオブジェクトの表示

作成したPeriodIndexオブジェクトを表示して確認してみましょう。

print("PeriodIndex...\n", periodIndex)

期間の「分」を取得する

periodIndex.minuteプロパティにアクセスすることで、各期間の「分」の値を抽出できます。

print("\nThe minute from the PeriodIndex object...\n", periodIndex.minute)

完全なサンプルコード

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

import pandas as pd

# PeriodIndexオブジェクトを作成
# PeriodIndexは、時間上の一定周期を示す序数値を保持する不変のndarrayです
# 「freq」パラメータで頻度を設定しています
periodIndex = pd.PeriodIndex(['2021-09-25 07:30:35', '2019-10-30 04:15:45',
'2021-07-15 02:55:15', '2022-06-25 09:40:55'], freq="T")

# PeriodIndexオブジェクトを表示
print("PeriodIndex...\n", periodIndex)

# PeriodIndexの頻度オブジェクトを表示
print("\nPeriodIndex frequency object...\n", periodIndex.freq)

# PeriodIndexの頻度を文字列として表示
print("\nPeriodIndex frequency object as a string...\n", periodIndex.freqstr)

# PeriodIndexオブジェクトから「分」を表示
print("\nThe minute from the PeriodIndex object...\n", periodIndex.minute)

実行結果

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

PeriodIndex...
PeriodIndex(['2021-09-25 07:30', '2019-10-30 04:15', '2021-07-15 02:55', '2022-06-25 09:40'],
dtype='period[T]')

PeriodIndex frequency object...
<Minute>

PeriodIndex frequency object as a string...
T

The minute from the PeriodIndex object...
Int64Index([30, 15, 55, 40], dtype='int64')

解説のポイント

  • freq="T":頻度を「分」単位に指定しています。そのため、元の日時文字列に秒が含まれていても、出力されるPeriodIndexは分単位に切り捨てられた値になります。
  • periodIndex.freq:頻度オブジェクト(<Minute>)を返します。
  • periodIndex.freqstr:頻度を文字列("T")として返します。
  • periodIndex.minute:各期間の「分」の値をInt64Indexとして返します。この例では [30, 15, 55, 40] が取得できました。

このように、PeriodIndex.minuteを使えば、時系列データから簡単に「分」の情報だけを抽出できます。同様に、hoursecondなどのプロパティも用意されているので、用途に応じて使い分けると便利です。

  1. Python Pandas – Timedeltaオブジェクトから継続時間の合計秒数を取得する方法

    Timedeltaオブジェクトから継続時間の合計秒数を取得するには、timedelta.total_seconds() メソッドを使用します。このメソッドは、Timedeltaが表す期間全体を秒単位の浮動小数点数(float)として返します。まず、必要なライブラリをインポートします。import pandas as pdTimeDeltaはPython標準のdatetimeライブラリにおけるtimedeltaとは異なる表現を持つデータ型です。ここでは、PandasのTimedeltaオブジェクトを作成します。timedelta = pd.Timedelta(2 days 11 hours 22

  2. Python・PandasのTimestampオブジェクトから曜日を取得する方法

    PandasのTimestampオブジェクトから曜日を取得するには、timestamp.weekday()メソッドを使用します。このメソッドは、対象の日付が何曜日に該当するかを数値で返してくれます。まずは、必要なライブラリをインポートしましょう。import pandas as pd import datetimeTimestampオブジェクトの作成次に、Pandasでタイムスタンプを設定し、Timestampオブジェクトを作成します。ここでは例として「2021年5月12日」を使用します。timestamp = pd.Timestamp(datetime.datetime(2021, 5, 1