我有简单的视频观看数据集:
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,日期。现在我想得到一个numpy数组列表,它有效地为每个视频或2D numpy数组提供视图(数据集很大)。
现在我在做:
resDf2 = resDf.reset_index().set_index('datetime')
resultList = list(resDf2.groupby('video_id')['views'].apply(pd.DataFrame.as_matrix))
我认为有更好,更快的方式。你能帮忙吗?
答案 0 :(得分:0)
您的示例中您想要的输出是什么?这就是你要追求的吗?
df.groupby(['video_id', pd.TimeGrouper('W')]).sum().values
Out[414]:
array([[ 5383.],
[ 4210.]])