0
我使用下面的代碼計算7天的總結窗口(期待的未來):加快滾動窗口基於時間的總和?
def for_window(g, win=7):
g = g.set_index('date').resample('D')['value'].sum()
g['roll'] = g.sort_index(ascending=False).rolling(window=win, center=False, min_periods=1).sum().dropna()
return g
df = df.groupby(['id1','id2']).apply(for_window,win=7)
這工作,但它是一個LARE數據集慢得令人難以置信。我在groupby
中有500,000個獨特的羣組,每個羣組中有5-100個日期。
什麼我的數據看起來像一個例子:
id1 id2 date value
3 14 2017-06-14 5
3 14 2017-06-15 20
3 45 2017-06-15 18
3 46 2017-06-14 6
3 46 2017-06-15 21
3 46 2017-06-16 6
3 47 2017-06-15 5
13 26 2017-06-16 4
13 35 2017-06-14 4
13 39 2017-06-14 3
有一個更快的方式做到這一點?這裏
@BradSolomon!感謝您的建議。數據沒有設定頻率;其中大部分是每日數據,但數據中有一些漏洞。 – user1566200