2017-10-18 5 views
1

私はパンダを使ってデータフレームをソートし、1時間のインターバルに入る値(行)の数を数えます。私のデータフレームは、このようcol_timesとルックスを命名されています。私は、各時間でどのように多くの値カウントするcol_times.set_index('date_time').resample(rule = 'H')['Uhrzeit'].count()を使用パンダのサンプル:時間の開始値を設定する

enter image description here

。これは14:00:00に開始されます。その前に値があるため、最も早い時刻は14:57:07です。しかし、私は10:00:00にカウントを開始する必要があります。なぜなら、これはさまざまなデータフレームに適用する必要があるため、10:00〜10:59の間に値がないことを確認する必要があります。 59。リサンプル関数を設定するにはどうすればよいですか?あなたが日付で新しい行を追加する必要が

答えて

1

10:00から始まる:

col_times = col_times.set_index('date_time') 
date = pd.to_datetime(col_times.index.min().replace(hour=10, minute=0)) 
col_times.loc[date] = np.nan 
print (col_times) 
          Datum Uhrzeit 
date_time         
2017-10-16 14:57:07 16.10.2017 14:57:07 
2017-10-16 14:57:49 16.10.2017 14:57:49 
2017-10-16 14:57:57 16.10.2017 14:57:57 
2017-10-16 14:58:11 16.10.2017 14:58:11 
2017-10-16 14:58:21 16.10.2017 14:58:21 
2017-10-16 10:00:07   NaN  NaN 

df = col_times.resample(rule = 'H')['Uhrzeit'].count() 
print (df) 
date_time 
2017-10-16 10:00:00 0 
2017-10-16 11:00:00 0 
2017-10-16 12:00:00 0 
2017-10-16 13:00:00 0 
2017-10-16 14:00:00 5 
Freq: H, Name: Uhrzeit, dtype: int64 
+0

驚くばかり、いつものように、最も簡単な解決策はones.Thankあなた最高です。 1つの質問:NaN値を作成するにはnumpyが必要ですか? – rashid

+0

はい、あなたは正しいです!ありがとう。 – jezrael

関連する問題