熊猫数据框的分组/滚动-为什么在新组上不重置滚动意味着什么?

时间:2019-03-11 23:39:39

标签: python pandas dataframe rolling-computation

我正在尝试总结一组人的工作时间,并且需要计算滚动平均值。

我可以使用df.groupby和df.rolling做到这一点,但是对于“ n”值的滚动平均值,我希望组中的前n-1个值是nan或0。

示例-

import pandas as pd
import numpy as np

employees = ['Alice', 'Alice', 'Bob', 'Bob', 'Bob' ]
weeks = [2, 3, 2, 3, 4]
hours = [5, 8, 4, 2, 5]

df = pd.DataFrame.from_dict({'employee' : employees,
        'week': weeks,
       'hours': hours})
       
df.groupby(['employee', 'week']).sum().rolling(2).mean()

df

 	employee 	hours 	week
0 	Alice 	5 	2
1 	Alice 	8 	3
2 	Bob 	4 	2
3 	Bob 	2 	3
4 	Bob 	5 	4

结果-

           hours
employee week       
Alice    2       NaN
     3       6.5
Bob      2       6.0  <-- expect this to be 0
     3       3.0
     4       3.5

预期结果

           hours
employee week       
Alice    2       NaN
     3       6.5
Bob      2       NaN  <--- mean reset to 0 on new group
     3       3.0
     4       3.5

此重置(Bob的第一行)没有发生。我该如何实现?

非常感谢(并感谢apols格式化)

0 个答案:

没有答案