2016-07-05 5 views
1

これは多少答えられましたが、時間マークではもう少し難しく、datetimeを返そうとする問題にぶち当たっています。だから、基本的に私はこのようになります。データフレームがあります。時間単位で線形補間を使用してデータフレームを再サンプリングする方法

     elev Dewpoint Temp 
time          
2014-06-28 12:13:33 1125.0  7.222222 
2014-06-28 12:28:33 1125.0  7.222222 
2014-06-28 12:43:33 1125.0  7.222222 
2014-06-28 12:58:33 1125.0  7.222222 
2014-06-28 13:13:33 1125.0  6.666667 
2014-06-28 13:28:33 1125.0  6.666667 
2014-06-28 13:43:33 1125.0  7.222222 
2014-06-28 13:58:33 1125.0  7.222222 
2014-06-28 14:13:33 1125.0  6.666667 
... 
2014-08-31 11:02:14 1125.0  10.555556 
2014-08-31 11:17:13 1125.0  11.111111 
2014-08-31 11:17:14 1125.0  10.555556 
2014-08-31 11:32:13 1125.0  10.555556 
2014-08-31 11:47:13 1125.0  10.000000 
2014-08-31 11:47:14 1125.0  10.000000 

をそして私は、私が唯一の時間でデータを測定し、いくつかの理論的なデータと比較できるように、これは時間に、時間単位であることにしたいです。

私は私のジレンマを解決するために、次のコードを使用しようとしました:

df00は上記データフレームである
dftemp01=df00.resample(rule='1H',closed='left').last().reset_index().fillna(method='ffill') 
dftemp02=df00.resample(rule='1H',closed='left').first().reset_index().fillna(method='ffill') 
dt0=dftemp01.datetime-dftemp02.datetime 
df00['Observed']=dftemp01+dt0*dftemp02 

。私は後で、データフレームの残りの部分を削除しています。これは問題なく動作します。しかし、私は2つの問題にぶつかります。

1)私はこれが私の望むことをしているとは思わない。具体的には、たとえば、13:00の時間、12:58の時点、次に前のポイントを引いた次のポイントで決まるラインに沿って直線的に2分前に移動し、二。

2)私はdftemp01.datetimeから何も戻っていません。私はdftemp01.date_timeと他の反復と、dftemp01.index.to_pydatetime()を試しました。これらは機能していません。

答えて

0

だから私はいくつかの試みの後でこれを解決しました。これは、最も美しいコーディングではありませんが、それはサンプリングをするためにかかわらず、サンプリング時間のサンプリングの問題を解決するために仕事をすることはあなたのデータがどのように見えるか(与えられた知識を最大限に)反映:

lfile00=path0+dewpointstring+filetype0 
df00=xselect(lfile00,v00,starttime,endtime) 
df00[v00]=((df00[v00]-32.)*5./9.) 
dsll=xr.open_dataset(lfile00) 
dftemp0=df00[v00].resample('S').mean() 
dftemp0=dftemp0.interpolate() 
df00=df00.resample('H').mean() 
df00['Observed']=dftemp0.resample('H').mean() 
df00=df00.drop(['elev',v00],1) 

う警告した;ただし、データフレームが膨大な場合(数ヶ月以上)、1秒間隔で補間と再サンプリングが行われ、データサイズの頭痛が発生する可能性があります。私はこれを回避する方法がわかりません。ありがたいことに、私のデータはそれを必要としません。誰かがそれを回避する方法に興味があるなら、私は数週間以内に道を切り開くことができます。

関連する問題