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

Python Pandas入門:DateTimeIndexに対して分単位の頻度でceil(切り上げ)操作を実行する方法

DateTimeIndexに対して分単位の頻度でceil(切り上げ)操作を実行するには、DateTimeIndex.ceil()メソッドを使用します。分単位の頻度を指定する場合は、freqパラメータに'T'を設定します。

ceil操作の基本的な流れ

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

import pandas as pd

次に、期間を5、頻度を秒単位('40S'=40秒ごと)としてDatetimeIndexを作成します。タイムゾーンはオーストラリアのアデレード(Australia/Adelaide)を指定しています。

datetimeindex = pd.date_range('2021-10-18 07:20:32.261811624', periods=5,
tz='Australia/Adelaide', freq='40S')

作成したDateTimeIndexを表示します。

print("DateTimeIndex...\n", datetimeindex)

そして、DateTimeIndexの日付に対して分単位の頻度でceil操作を実行します。分単位の頻度を表すには、freqパラメータに'T'を使用します。

print("\nPerforming ceil operation with minute frequency...\n",
datetimeindex.ceil(freq='T'))

完全なコード例

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

import pandas as pd

# 期間5、頻度40秒('40S')でDatetimeIndexを作成
# タイムゾーンはAustralia/Adelaideを指定
datetimeindex = pd.date_range('2021-10-18 07:20:32.261811624', periods=5,
tz='Australia/Adelaide', freq='40S')

# DateTimeIndexを表示
print("DateTimeIndex...\n", datetimeindex)

# DateTimeIndexの頻度を表示
print("DateTimeIndex frequency...\n", datetimeindex.freq)

# 「分」の値を取得
res = datetimeindex.minute

# 分のみを表示
print("\nThe minute from DateTimeIndex...\n", res)

# 分単位の頻度でceil操作を実行
# 分単位の場合はfreqに'T'を指定
print("\nPerforming ceil operation with minute frequency...\n",
datetimeindex.ceil(freq='T'))

実行結果

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

DateTimeIndex...
DatetimeIndex(['2021-10-18 07:20:32.261811624+10:30',
'2021-10-18 07:21:12.261811624+10:30',
'2021-10-18 07:21:52.261811624+10:30',
'2021-10-18 07:22:32.261811624+10:30',
'2021-10-18 07:23:12.261811624+10:30'],
dtype='datetime64[ns, Australia/Adelaide]', freq='40S')
DateTimeIndex frequency...
<40 * Seconds>

The minute from DateTimeIndex...
Int64Index([20, 21, 21, 22, 23], dtype='int64')
Performing ceil operation with minute frequency...
DatetimeIndex(['2021-10-18 07:21:00+10:30', '2021-10-18 07:22:00+10:30',
'2021-10-18 07:22:00+10:30', '2021-10-18 07:23:00+10:30',
'2021-10-18 07:24:00+10:30'],
dtype='datetime64[ns, Australia/Adelaide]', freq=None)

出力結果のポイント

元の時刻は「07:20:32」のように秒以下の端数を持っていますが、ceil操作によってそれぞれ直近の「分」の境界へ切り上げられていることがわかります。例えば「07:20:32」は「07:21:00」に、「07:21:12」は「07:22:00」に変換されています。

なお、Pandas 2.x以降ではエイリアス'T'は非推奨となっており、代わりに'min'を使用することが推奨されています。新しいバージョンでコードを書く場合は、datetimeindex.ceil(freq='min')と指定するとよいでしょう。

  1. 【Python・Pandas】DateTimeIndexを秒の頻度で丸める方法

    DateTimeIndexを秒の頻度で丸める方法PandasのDateTimeIndexを秒(seconds)の頻度で丸めるには、DateTimeIndex.round()メソッドを使用します。秒単位で丸めたい場合は、freqパラメータにSを指定します。round()メソッドは、ナノ秒などの細かい端数を指定した頻度のもっとも近い値へ四捨五入する際に便利です。まず、必要なライブラリをインポートします。import pandas as pd次に、期間5つ分・頻度が「28s」(28秒間隔)のDatetimeIndexを作成します。タイムゾーンはオーストラリア/アデレード(Australia/Adel

  2. Python Pandas入門:DateTimeIndexを分単位の頻度で丸める方法

    pandasでDateTimeIndex(日時インデックス)を分単位の頻度で丸めるには、DateTimeIndex.round()メソッドを使用します。分単位の頻度を指定したい場合は、freq引数にTを設定します。なお、Tは「min(minutes)」のエイリアスであり、どちらを指定しても同じ結果が得られます。手順1:ライブラリのインポートまず、必要なライブラリをインポートします。import pandas as pd手順2:DateTimeIndexの作成次に、期間5・頻度45秒(45s)のDatetimeIndexを作成します。タイムゾーンにはオーストラリアのアデレード(Australia