Python Pandas入門:1時間ごとの頻度でDateTimeIndexにceil操作を実行する方法
DateTimeIndexに対して1時間ごとの頻度でceil(切り上げ)操作を実行するには、DateTimeIndex.ceil()メソッドを使用します。1時間ごとの頻度を指定する場合は、freqパラメータに「'H'」を設定します。
必要なライブラリのインポート
まず、必要なライブラリをインポートします。
import pandas as pd
DatetimeIndexの作成
次に、期間を5、頻度を20分(20min)、タイムゾーンをオーストラリア/アデレードに設定したDatetimeIndexを作成します。
datetimeindex = pd.date_range('2021-09-29 07:20:32.261811624', periods=5,
tz='Australia/Adelaide', freq='20min')ceil操作の実行
DatetimeIndexの日付に対して、1時間ごとの頻度でceil操作を実行します。1時間ごとの頻度を指定するために「'H'」を使用しています。
print("\n1時間ごとの頻度でceil操作を実行...\n",
datetimeindex.ceil(freq='H'))完全なコード例
以下がコード全体です。
import pandas as pd
# 期間5、頻度20分のDatetimeIndexを作成
# タイムゾーンはAustralia/Adelaide
datetimeindex = pd.date_range('2021-09-29 07:20:32.261811624', periods=5,
tz='Australia/Adelaide', freq='20min')
# DateTimeIndexを表示
print("DateTimeIndex...\n", datetimeindex)
# DateTimeIndexの頻度を表示
print("DateTimeIndex frequency...\n", datetimeindex.freq)
# 1時間ごとの頻度でceil操作を実行
# 1時間ごとの頻度には'H'を使用
print("\n1時間ごとの頻度でceil操作を実行...\n",
datetimeindex.ceil(freq='H'))実行結果
上記のコードを実行すると、以下の出力が得られます。
DateTimeIndex... DatetimeIndex(['2021-09-29 07:20:32.261811624+09:30', '2021-09-29 07:40:32.261811624+09:30', '2021-09-29 08:00:32.261811624+09:30', '2021-09-29 08:20:32.261811624+09:30', '2021-09-29 08:40:32.261811624+09:30'], dtype='datetime64[ns, Australia/Adelaide]', freq='20T') DateTimeIndex frequency... <20 * Minutes> 1時間ごとの頻度でceil操作を実行... DatetimeIndex(['2021-09-29 08:00:00+09:30', '2021-09-29 08:00:00+09:30', '2021-09-29 09:00:00+09:30', '2021-09-29 09:00:00+09:30', '2021-09-29 09:00:00+09:30'], dtype='datetime64[ns, Australia/Adelaide]', freq=None)
解説
出力結果を見ると、元のDatetimeIndexは20分間隔でタイムスタンプが生成されていますが、ceil操作後は各タイムスタンプが直近の1時間単位の境界値へ切り上げられていることがわかります。例えば、「07:20:32」は「08:00:00」に、「08:40:32」は「09:00:00」に切り上げられます。このようにceil()メソッドを使うことで、時刻データを指定した頻度の単位に簡単に丸めることができます。
-
Python Pandas入門:DateTimeIndexを分単位の頻度で丸める方法
pandasでDateTimeIndex(日時インデックス)を分単位の頻度で丸めるには、DateTimeIndex.round()メソッドを使用します。分単位の頻度を指定したい場合は、freq引数にTを設定します。なお、Tは「min(minutes)」のエイリアスであり、どちらを指定しても同じ結果が得られます。手順1:ライブラリのインポートまず、必要なライブラリをインポートします。import pandas as pd手順2:DateTimeIndexの作成次に、期間5・頻度45秒(45s)のDatetimeIndexを作成します。タイムゾーンにはオーストラリアのアデレード(Australia
-
PandasでDateTimeIndexを1時間ごとの頻度で丸める方法|round()の使い方を解説
PandasでDateTimeIndexを1時間ごとの頻度に丸めるには、DateTimeIndex.round()メソッドを使用します。1時間ごとの頻度を指定する場合は、freqパラメータに「H」を設定します。 実装の手順 まず、必要なライブラリをインポートします。 import pandas as pd 続いて、期間5つ・頻度「T」(分単位)でDatetimeIndexを作成します。タイムゾーンはオーストラリア/アデレード(Australia/Adelaide)を指定しています。 datetimeindex = pd.date_range(2021-09-29 07:00, per