私は、タイムスタンプ付きの2つのパンダシリーズをインデックスとして扱っています。 1つのシリーズは固定周波数の粗いモデルであり、もう1つは固定周波数のないデータです。データからモデルを減算し、モデルの値を(線形またはスプラインで)補間したいと思います。ここパンダの補間で不規則で定期的なタイムスタンプを持つ2つのシリーズを差し引く
は一例であり:
import numpy as np
import pandas as pd
# generate model with fixed freq
model = pd.Series(range(5),index=pd.date_range('2017-06-19T12:05:00', '2017-06-19T12:25:00', freq="5 min"))
# generate data and add more_data to make frequency irregular
data = pd.Series(np.arange(10)+0.3,index=pd.date_range('2017-06-19T12:06:00',
'2017-06-19T12:24:00', freq="2 min"))
more_data = pd.Series([-10, -20], index=[pd.Timestamp('2017-06-19T12:07:35'),
pd.Timestamp('2017-06-19T12:09:10')])
data = data.append(more_data).sort_index()
Iは
data - model.interpolate()[data.index]
を試みたが、それは唯一私モデルのタイムスタンプとデータ重複非NaN値を与えます。
モデルの頻度()に合わせてデータを再サンプリングすることはできますが、データから元のタイムスタンプでモデルを差し引いたデータを取得したいと思います。
私はこれが大好きです。私が追加したいのは私が編集するかもしれない、そしてここでは、 'method = 'time''を' interpolate'の引数として追加することです。そうすれば補間は私たちがそうしたdatetimeインデックスを実際に使用するようになります保存するように注意してください。 – EFT
これをさらに調べてみましょう。実際には任意のオプションがありますが、デフォルトの 'method = 'linear''が使用されている限り、両方のアプローチで適切に動作します。 – EFT
良い点、私は編集しました! – frankundfrei