2014-07-09 175 views
2

我從CSV一個數據幀,看起來像這樣(這裏樣本數據:http://www.speedyshare.com/9A2zf/download/sample.csv):從標準化CSV提取間苗時間序列使用熊貓

      event name   user count amount commission 
2011-05-23 00:00:00 2011-07-22 normal reading_arts  2  26   0.0 
2011-05-23 00:00:00 2011-07-23 normal reading_arts  14  182   0.0 
2011-05-24 00:00:00 2011-07-22 normal reading_arts  4  52   0.0 
2011-05-24 00:00:00 2011-07-22 normal reading_arts  3  39   0.0 
2011-05-26 00:00:00 2011-07-23 normal reading_arts  2  30   0.0 
2011-05-26 00:00:00 2011-07-23 normal reading_arts  5  75   0.0 
2011-05-26 00:00:00 2011-07-22 normal reading_arts  1  13   0.0 
2011-05-27 15:39:28 2011-07-23 normal  hickies  16  208  -10.4 
2011-06-01 00:00:00 2011-07-23 normal reading_arts  2  30   0.0 
2011-06-02 00:00:00 2011-07-23 normal reading_arts  17  221   0.0 

..that我創建:

data = read_csv('2011.csv', 
       names=('event', 'user', 'count', 'amount', 'commission'), 
       parse_dates=True) 

「事件」雖然看起來像日期,但實際上只是特定事件的標識符。

您會注意到DateTimeIndex中有重複的條目,例如:2011-05-23 00:00:00。

我最終想要的是每個用戶對每個事件的一系列3個時間序列(每個計數,金額和佣金),通過總結下采樣到每週桶。我還想爲每個事件創建類似的時間序列,這只是每個用戶每個事件時間序列的總和。

我該怎麼做?

+0

將是有益的提供樣本CSV摘錄,讓人們輕鬆地重新創建數據框...這裏玩弄 –

回答

2

編輯 - 試試這個代碼:

注 - 我把CSV並添加一個標題到每一行。我添加的行1列標題是:

time event name user count amount commission 

嘗試運行此並讓我知道,如果它仍然不是你要找的。

import pandas as pd 
import numpy as np 

df= pd.DataFrame.from_csv('sample.csv') 

resamp = df.groupby(['event','user']).resample('W', how='sum') 
+0

的樣本數據:http://www.speedyshare.com/9A2zf/download /sample.csv 如果你有「#爲每一行計算星期」,我最好想使用熊貓的重採樣,我該怎麼做? –

+0

看看上面的編輯,讓我知道,如果這是更多的你在找什麼。 – flyingmeatball