2017-01-11 10 views
0

初心者のpanda/pythonユーザー。 私はpandasデータフレームで24時間のデータを使用していますが、その日の最後の数分間のデータはしばしばありません。pandasデータフレームのdatetime行とforward fillデータの追加

最後のタイムスタンプが23.59に達するまで各ファイルに行を追加するだけで、最後の数分をデータで順番に埋める必要があります。だから、この:

19-12-2016 00:00 2 0.003232323 
    ... 
    19-12-2016 23:53 2 0.002822919 
    19-12-2016 23:54 4 0.002822919 
    19-12-2016 23:55 1 0.002822919 

は次のようになります。

19-12-2016 00:00 2 0.003232323 
    ... 
    19-12-2016 23:53 2 0.002822919 
    19-12-2016 23:54 4 0.002822919 
    19-12-2016 23:55 1 0.002822919 
    19-12-2016 23:56 1 0.002822919 
    19-12-2016 23:57 1 0.002822919 
    19-12-2016 23:58 1 0.002822919 
    19-12-2016 23:59 1 0.002822919 

残念ながら、私はこのために使用していたコードは本当に長いですし、私はこれを修正することができ、正確にどこで正確に特定することはできません。

答えて

1

データの複数の日に一般的なソリューションを使用して欠損値を埋めるよう

reindexデータこのような。開始日と終了日を取得し、reindexフレーム全体を取得し、欠損値を入力します。

start = df.index.min().date() 
end = df.index.max().date() + pd.Timedelta(1, 'D') 
df.reindex(pd.date_range(start, end, freq='T', closed='left')).fillna(method='ffill') 
+1

あなたは私の冗談を冗談している、これは私の解決策です –

1

次のことができます。

idx = pd.date_range('2016-12-19', periods=1440, freq='T') 
df = df.reindex(idx) 

して、前方になります単一のフレームにdf.mycol.ffill()

+2

これは、データフレーム内の最後の時刻よりも時間が延長されないため、機能しません。 –

関連する問題