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を使えば、時系列データから簡単に「分」の情報だけを抽出できます。同様に、hourやsecondなどのプロパティも用意されているので、用途に応じて使い分けると便利です。
-
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
-
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