Python Pandas入門:ミリ秒単位の頻度でDateTimeIndexにceil(切り上げ)操作を実行する方法
DateTimeIndexに対してミリ秒単位の頻度でceil(切り上げ)操作を実行するには、DateTimeIndex.ceil()メソッドを使用します。このメソッドは、各タイムスタンプを指定した頻度の単位に切り上げてくれる便利な機能です。
ミリ秒の頻度を指定したい場合は、freqパラメータに'ms'を設定します。
実装手順
1. 必要なライブラリをインポートする
まず、Pandasをインポートします。
import pandas as pd
2. DatetimeIndexを作成する
次に、periods(期間数)を5、頻度を「S」(秒)としてDatetimeIndexを作成します。タイムゾーンはオーストラリアのアデレード(Australia/Adelaide)を指定し、40秒間隔の時系列データを生成します。
datetimeindex = pd.date_range('2021-10-18 07:20:32.261811624', periods=5,
tz='Australia/Adelaide', freq='40S')3. ミリ秒単位でceil操作を実行する
作成したDateTimeIndexに対して、freqパラメータに'ms'を指定してceil操作を実行します。これにより、ナノ秒単位の細かい値がミリ秒単位に切り上げられます。
print("\nPerforming ceil operation with milliseconds frequency...\n",
datetimeindex.ceil(freq='ms'))サンプルコード全体
以下に、ここまでの手順をまとめた完全なコードを示します。
import pandas as pd
# 期間5、頻度S(秒)で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)
# ミリ秒単位の頻度でceil操作を実行
# ミリ秒の頻度には'ms'を使用
print("\nPerforming ceil operation with milliseconds frequency...\n",
datetimeindex.ceil(freq='ms'))実行結果
上記のコードを実行すると、以下のような出力が得られます。
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> Performing ceil operation with milliseconds frequency... DatetimeIndex(['2021-10-18 07:20:32.262000+10:30', '2021-10-18 07:21:12.262000+10:30', '2021-10-18 07:21:52.262000+10:30', '2021-10-18 07:22:32.262000+10:30', '2021-10-18 07:23:12.262000+10:30'], dtype='datetime64[ns, Australia/Adelaide]', freq=None)
解説
出力結果を見ると、元のタイムスタンプは「07:20:32.261811624」というナノ秒精度の値でしたが、ceil操作後には「07:20:32.262000」とミリ秒単位に切り上げられていることがわかります。ceilメソッドは、指定した頻度より細かい端数を切り上げるため、時系列データを一定の粒度で丸めたい場合に非常に有用です。
-
【Python・Pandas】DateTimeIndexを秒の頻度で丸める方法
DateTimeIndexを秒の頻度で丸める方法PandasのDateTimeIndexを秒(seconds)の頻度で丸めるには、DateTimeIndex.round()メソッドを使用します。秒単位で丸めたい場合は、freqパラメータにSを指定します。round()メソッドは、ナノ秒などの細かい端数を指定した頻度のもっとも近い値へ四捨五入する際に便利です。まず、必要なライブラリをインポートします。import pandas as pd次に、期間5つ分・頻度が「28s」(28秒間隔)のDatetimeIndexを作成します。タイムゾーンはオーストラリア/アデレード(Australia/Adel
-
Python Pandas入門:DateTimeIndexを分単位の頻度で丸める方法
pandasでDateTimeIndex(日時インデックス)を分単位の頻度で丸めるには、DateTimeIndex.round()メソッドを使用します。分単位の頻度を指定したい場合は、freq引数にTを設定します。なお、Tは「min(minutes)」のエイリアスであり、どちらを指定しても同じ結果が得られます。手順1:ライブラリのインポートまず、必要なライブラリをインポートします。import pandas as pd手順2:DateTimeIndexの作成次に、期間5・頻度45秒(45s)のDatetimeIndexを作成します。タイムゾーンにはオーストラリアのアデレード(Australia