2015-10-19 95 views
1

我有一个名为'coverage'的列的熊猫数据框。对于一系列特定的索引值,我想获得前100行的平均“覆盖率”值。例如,对于索引位置1001,我希望行901-1000的平均“覆盖率”。我感兴趣的索引值在一个单独的列表中。取一个熊猫数据帧中一系列行的值的平均值

我不知道如何告诉大熊猫查看一系列相对于给定索引的行。我不认为我可以使用GroupBy,因为会有一些行重叠(例如,假设我感兴趣的索引值列表包括1001和1050)。

如果任何人都可以指出我正确的方向,我会非常感激!

+0

这听起来像所有你想要做的是遍历列表,然后切片你的主DF使用该列表范围值? – EdChum

+0

是EdChum,听起来像我想做的事。 Guillaume的回答给了我一个找到方法的好工具。现在我添加一个新的列,用于标记我感兴趣的索引的行,然后有条件地应用rolling_mean函数。我如何使用索引列表访问平均DF的方法很笨重,但它完成了工作。 – Scarlet

回答

1

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 
相关问题