2017-11-22 7 views
0

は、私は次の形式でいくつかのデータを持っている:パンダの時系列操作

id 1234 5678 9876  
date                      
2017-10-22 11:12:21.926000000 NaN  NaN  NaN  
2017-10-22 11:16:34.589000000 NaN  5  NaN 
2017-10-22 11:20:45.192000000 NaN  NaN  10 
2017-10-22 11:22:22.361000000 12  NaN  NaN 
2017-10-22 11:25:25.034000000 NaN  8  NaN 

私は分時系列で適切分にこのデータをきれいにし、新しい値が見つかりされるまで、毎分の値をforwad運びたいですその時のID、「必要な時間範囲」。

出力:

id 1234 5678 9876  
date                      
2017-10-22 11:12:00  NaN  NaN  NaN  
2017-10-22 11:13:00  NaN  NaN  NaN  
2017-10-22 11:14:00  NaN  NaN  NaN  
2017-10-22 11:15:00  NaN  NaN  NaN  
2017-10-22 11:16:00  NaN  5  NaN 
2017-10-22 11:17:00  NaN  5  NaN 
2017-10-22 11:18:00  NaN  5  NaN 
2017-10-22 11:19:00  NaN  5  NaN 
2017-10-22 11:20:00  NaN  5  10 
2017-10-22 11:21:00  NaN  5  10 
2017-10-22 11:22:00  12  5  10 
2017-10-22 11:23:00  12  5  10 
2017-10-22 11:24:00  12  5  10 
2017-10-22 11:25:00  12  8  10 
2017-10-22 11:26:00  12  8  10 

私は新しいデータフレームを作成し、古いものではなく、多くの幸運とそれをマージしようとしています。 ありがとうございます。 「d」を仮定し

答えて

1

は、あなたが、あなたの出発点として表示データフレームです:

d.date = pd.to_datetime(d.date).values.astype('<M8[m]') 
d = d.set_index('date') 
d.resample('1Min').ffill().fillna(method='ffill') 

あなたも、いくつかのためにアップ.values.astype('<M8[m]')ffillためのラウンドを呼び出すことにより、秒の秒、分画「を切り落とす」しなければなりません秒。また、2つのffillコールが変わっているように見えますが、1つだけ試してみると、NaN以外の値が他のカラムに現れるまで部分的にしか埋められないことがわかります。

また、「日付」がインデックスとして設定されていることを確認してください。

+0

ありがとうございます。日付セクションにはいくつかの重複がありますが、 ValueError:メソッドまたはリミットで一意でないインデックスを再インデックスできません。 2017年10月7日午後十二時00分00秒\t NaNで、\t 2017年10月7日午後十二時00分00秒\t NaNで、 これが最後の行に失敗します。d.resample( '1分')ffill() .fillna(method = 'ffill') – Vivek

+0

私たちが秒を消してから心配しないでください。重複が追加されました。私は再編成しなければなりませんでした。 – Vivek

関連する問題