我有一个带有名为'coverage'的列的pandas数据框。对于一系列特定的索引值,我想获得前100行的平均'coverage'值。例如,对于索引位置1001,我想要行901-1000的平均“覆盖”。我感兴趣的索引值在一个单独的列表中。
我很难说如何告诉pandas查看相对于给定索引的一系列行。我不认为我可以使用GroupBy,因为会有一些行重叠(例如,假设我感兴趣的索引值列表包括1001和1050)。
如果有人能指出我正确的方向,我将非常感激!
答案 0 :(得分:2)
pandas.rolling_mean似乎是您问题的理想候选人
例如:
In [9]: pandas.rolling_mean(pandas.Series(range(10)), window=2)
Out[9]:
0 NaN
1 0.5
2 1.5
3 2.5
4 3.5
5 4.5
6 5.5
7 6.5
8 7.5
9 8.5
dtype: float64