如何计算特定列的滚动平均值,并需要打印滚动平均值以及日期

时间:2018-11-13 09:24:28

标签: pandas dataframe time-series data-science

我的数据框的标签为app_name,日期和总收入,并在窗口2中计算了总收入的滚动平均值。 我对此很陌生

 App_Name           Date        Gross Revenue
com.alpha.studio    2018-10-16   11643154
com.alpha.studio    2018-10-17   13198984
com.alpha.studio    2018-10-18   24217875

我这样写代码

rolling_mean = com_fivemobile_thescore['Gross Revenue'].astype(int).rolling(2).mean()
rolling_std = com_fivemobile_thescore['Gross Revenue'].astype(int).rolling(2).std()
print ("mean and std----------",rolling_mean)

得到这样的东西

65259     3352.5
231872    3245.5
226967    1936.0
162993    2583.0
237743    3190.5
228604    2550.5
219176    1698.0

期望的格式是:我需要带日期的滚动平均值

            Date        Gross Revenue
   1             NaN
   2018-10-16    3352.5
   2018-10-17    3245.5
   2018-10-18    2583.0

请帮助解决此问题

1 个答案:

答案 0 :(得分:2)

您可以将“日期”设置为索引,然后计算移动平均值:

com_fivemobile_thescore.set_index('Date', inplace=True)
rolling_mean = com_fivemobile_thescore['Gross Revenue'].rolling(2).mean()

如果您不想将日期保留为最终格式的索引,则只需重置索引即可。

rolling_mean = rolling_mean.reset_index(drop=False)