やりたいこと
以下のように時間情報の入った配列と、データが入った配列があります。
それらを時間に対応したデータがバラバラなので、一秒ごとに補間したデータが欲しいと考えています。
そのためにscipyのinterpolateを使えば補間できそうだと考えてやろうとしています。
時間情報とx座標は対応しています。時間は重複してませんが、xは重複している可能性もあります。
timeには文字列でデータがはいっています。
xはtimeに対応したデータです。
time = np.array(['2020-06-01 00:07:42','2020-06-01 00:28:12','2020-06-01',.....,'2020-06-30 23:54:01']) x = np.array([434618.787368,434618.781857,434612.078263 ,.....,434144.253173)]
これを補間して、一秒ごとのデータを取り出したいです。
やってみたこと
実際のデータではないですが、補間そのものをしてみようとミニマムなコードを書いてみました。
しかし、今回の時間データに対して一秒ごとのデータを取り出す方法がわかりません。
以下、まったく違うデータでの補間のコード
# interpolate:補間をしてくれる関数 import numpy as np from scipy import interpolate import matplotlib.pyplot as plt x = np.array([0,22,33,44,50,60,75,86,99,107,128,199,220]) y = np.array([0,33,53,34,55,44,45,31,14,33,63,18,96]) # 最小帝から最大値までの等間隔に100pointつくる # x座標を作る x_latent = np.linspace(min(x), max(x),100) f = interpolate.interp1d(x,y) y_latent = f(x_latent) plt.scatter(x,y,label="point") plt.plot(x_latent, y_latent, c= "red", label="fitted") plt.grid() plt.legend() plt.show()
これは全く関係ないデータなのでうまくいくコードになっていないのと、一秒ごとのデータを取り出すということがわからなくてできてません。
### 最後に
やりたいことで書いている通りではありますが、今回のデータに対して補間することで一秒ごとにデータを取り出す方法を教ええていただきたいと思います。
どうかよろしくお願いします。
回答1件
あなたの回答
tips
プレビュー