我有一个 pandas DateFrame, df 我用它创建的
df = pd.read_table('sorted_df_changes.txt', index_col=0, parse_dates=True, names=['date', 'rev_id', 'score'])
它的结构如下:
page_id score
date
2001-05-23 19:50:14 2430 7.632989
2001-05-25 11:53:55 1814033 18.946234
2001-05-27 17:36:37 2115 3.398154
2001-08-04 21:00:51 311 19.386016
2001-08-04 21:07:42 314 14.886722
date 是索引并且是 DatetimeIndex 类型。
每个 page_id 可能出现在一个或多个日期中(不是唯一的),并且大小约为 100 万。所有页面共同构成了文档。
我需要在日期的每个时间获得整个文档的分数,同时只计算任何给定 page_id 的最新分数。
例子
示例数据
page_id score
date
2001-05-23 19:50:14 1 3
2001-05-25 11:53:55 2 4
2001-05-27 17:36:37 1 5
2001-05-28 19:36:37 1 1
示例解决方案
score
date
2001-05-23 19:50:14 3
2001-05-25 11:53:55 7 (3 + 4)
2001-05-27 17:36:37 9 (5 + 4)
2001-05-28 19:36:37 5 (1 + 4)
2 的条目被连续计数,因为它没有重复,但每次重复 id 1 时,新分数都会替换旧分数。