2017-04-24 13 views
0

で2次元配列にグループ化:は、私はシンプルなビデオビューのデータセットを持っているパンダ

df.head() 
Out[10]: 
       video_id views 
datetime      
2017-04-07 ---9wpGBsr4 1479.0 
2017-04-08 ---9wpGBsr4 1883.0 
2017-04-09 ---9wpGBsr4 2021.0 
2017-04-10 ---9wpGBsr4 2083.0 
2017-04-11 ---9wpGBsr4 2127.0 

私は、ビデオごとに毎週の景色を計算しています:

resDf = df.groupby(['video_id', pd.TimeGrouper('W')]).sum() 

だから私はマルチインデックスVIDEO_ID、日付を持っています。今度は、すべてのビデオまたは2D numpy配列ごとのビューを持つnumpy配列のリストを効果的に取得したい(データセットが大きい)。

は今、私がやっている:

resDf2 = resDf.reset_index().set_index('datetime') 
resultList = list(resDf2.groupby('video_id')['views'].apply(pd.DataFrame.as_matrix)) 

私はより良い、より高速な方法があると思います。手伝ってくれますか?

答えて

0

あなたの希望する出力はどれですか?これはあなたの後のことですか?

df.groupby(['video_id', pd.TimeGrouper('W')]).sum().values 
Out[414]: 
array([[ 5383.], 
     [ 4210.]]) 
+0

ビデオウィークリービューの配列のリスト。そのリストのすべての行 - ビデオビュー。その配列のすべての要素 - 来週のそのビデオのビュー。 –

関連する問題