定期做平均

Do average in a regular interval

虽然我认为它很简单,但它可能是一个棘手的问题。 所以问题是我想计算N区间的平均值。

为了简化我的数据,原始数据是这样的

Group Animal
1 6
3 5
2 4
4 nan
5 4
4 nan

我想对每 3 个步骤进行平均,这意味着预期的 df[Group] 显示在三行中

Group
2.5 -->(1+4)/2
4 --> (3+5)/2
3 --> (2+4)/2

还有一个问题是遇到NaN值,所以如果有NaN值,我们就计算没有NaN的值(当然也不会显示NaN) 因此,df[Animal] 中的理想结果将是

Animal
6  --> (only 6, NaN cannot be calculated)
4.5  --> (5+4)/2
4 --> (4, NaN cannot be calculated)

分三行显示 任何解决它的想法,我很感激!

你可以试试 % : remainder

out = df.groupby(df.index%3).mean()
Out[127]: 
   Group  Animal
0    2.5     6.0
1    4.0     4.5
2    3.0     4.0