2017-03-10 71 views
0

示例蟒蛇中的分類

輸入有一列。

 Time 
     02.10 
     02.40 
     02.50 

輸出

由於 大道時間差爲20分鐘((30分鐘+ 10分鐘)/ 2),

我需要,其通過平均桶中的數據的數據幀。 它需要添加平均時間來首次記錄,如果結果時間在數據中,則它屬於倉位1,否則爲倉位0. 然後繼續。

Desired Output 
    Time - Bin 
    02.10 - 1 
    02.30 - 0 
    02.50 - 1 
    03.10 - 0 

在此先感謝。

+0

我想我最初誤解了你的問題,認爲你想要某種「時間」列的直方圖。相反,你似乎只想迭代'starttime + k * average_diff',看看它們是否在'Time'列中,這是對的嗎? –

+0

是的。如果結果在時間列中,那麼它應該屬於倉1,否則倉0。 –

+0

你想用這個來實現什麼?看起來第一次也是最後一次總是'1',輸出中的最後一項從來沒有(因爲它在定義上超過了最後一項),而且它們之間的項目只在極少數情況下。 –

回答

0

首先,你應該總是分享你的嘗試。

反正,試試這個。它應該工作

mean = df.Time.diff().mean() 

start = df.loc[0, 'Time'] 
end = df.loc[df.shape[1] -1, 'Time'] 
len = int((end - start)/mean) + 1 

timeSeries = [start + i*mean for i in range(len)] 

df['Bin'] = 0 

df.loc[df['Time'].isin(timeSeries), 'Bin'] = 1 

這將創建「斌」由你不如預期,條件,創建「時間」作爲正確日期時間。