2016-02-19 39 views
1

我有一個jason文件中的日期列表,並想聚合他們看看有多少我在10分鐘的時間間隔..我認爲在熊貓的時間系列是我應該尋找的,但我很困惑!任何想法?蟒蛇 - 聚合時間戳,看看有多少我有10分鐘的時間間隔

[更多詳情] 當我使用pd.read_json加載json文件時;我只有一列;其中有大約10,000行。每行是一個pandas.tslib.Timestamp,如「1970-01-01 20:12:16」。 理想情況下,我喜歡將這些時間戳分組爲10分鐘的時間間隔;查看每個間隔中有多少個時間戳並繪製條形圖(直方圖)。

+0

那麼,時代的格式?你試過什麼了?你必須給我們更多的工作。 – n1c9

+1

請看看這裏學習如何問一個好問題:http://stackoverflow.com/help/mcve –

+0

只是增加了更多的細節.. – SN65

回答

3

你可以這樣做resample

上的時間戳列第一指標,如果你還沒有這樣做:

df.set_index('time', inplace=True) 

添加數值列(你需要的東西重新取樣聚合):

df['count'] = 1 

最後重新取樣根據需要:

df.resample('10T', how='sum') 
1

我使用截斷來做到這一點:

import random 
import pandas as pd 
import datetime as dt 

ts = [dt.datetime.now() + dt.timedelta(minutes = random.randint(1000)) for _ in range(1000)] 
df = pd.DataFrame(ts, columns = ['ts']) 

def truncate(t): 
    return dt.datetime(month = t.month, day = t.day, year = t.year, hour = t.hour, minute = (55/10) * 10) 

df.ts.map(truncate).value_counts() 

會給你每10分鐘

2016-02-20 00:50:00 79 
2016-02-19 23:50:00 75 
2016-02-20 08:50:00 72 
2016-02-19 21:50:00 70 
... 

編輯計數:

由A. Leistra的方法要好得多,我學到了一些東西爲好。它從上面的設置工作:

df.set_index('ts', inplace = True) 
df['count'] = 1 
df.resample('10T', how = sum).head() 

count | ts 
--- | --- 
2016-02-19 21:00:00  5 
2016-02-19 21:10:00  11 
2016-02-19 21:20:00  17 
2016-02-19 21:30:00  13 
2016-02-19 21:40:00  11 
相關問題