Pandas中具有Groupby对象的Rolling Mean返回null

时间:2016-10-26 12:22:26

标签: python pandas dataframe group-by

我在Pandas中有这个初始DataFrame

                  A             B             C       D          E
    0               23       2015             1      14937     16.25
    1               23       2015             1      19054      7.50
    2               23       2015             2      14937     16.75
    3               23       2015             2      19054     17.25
    4               23       2015             3      14937     71.75
    5               23       2015             3      19054     15.00
    6               23       2015             4      14937     13.00
    7               23       2015             4      19054     37.75
    8               23       2015             5      14937      4.25
    9               23       2015             5      19054     18.25
    10              23       2015             6      14937     16.50
    11              23       2015             6      19054      1.00

我创建了一个Groupby对象,因为我想通过A,B,C,D列获得一个roolling均值组

DfGby = Df.groupby(['A','B', 'C','D']) 

执行滚动平均值后

DfMean = pd.DataFrame(DfGby.rolling(center=False,window=3)['E'].mean())

但我获得了

                                                      E
A            B         C               D
23             2015      1            14937     0        NaN
                                      19054     1        NaN
                         2            14937     2        NaN
                                      19054     3        NaN
                         3            14937     4        NaN
                                      19054     5        NaN
                         4            14937     6        NaN
                                      19054     7        NaN
                         5            14937     8        NaN
                                      19054     9        NaN
                         6            14937     10       NaN
                                      19054     11       NaN

这里有什么问题?

如果我想获得这个结果,我怎么能这样做?

           A             B             C       D          E
0               23       2015             1      14937     NaN
1               23       2015             2      14937     NaN 
2               23       2015             2      14937     16.6
3               23       2015             1      14937     35.1
4               23       2015             2      14937     33.8
5               23       2015             3      14937     29.7
6               23       2015             4      14937     11.3
7               23       2015             4      19054     NaN
8               23       2015             5      19054     NaN
9               23       2015             5      19054     13.3
10              23       2015             6      19054     23.3
11              23       2015             6      19054     23.7
12              23       2015             6      19054     19.0

0 个答案:

没有答案