Pandas文档列出了一堆“扩展窗口函数”:
http://pandas.pydata.org/pandas-docs/version/0.17.0/api.html#standard-expanding-window-functions
但我无法弄清楚他们从文档中做了什么。
答案 0 :(得分:17)
您可能需要阅读this Pandas docs:
滚动统计数据的常见替代方法是使用扩展 窗口,它使用所有数据生成统计值 到目前为止可用。
这些跟随.rolling的类似界面,使用.expanding 返回扩展对象的方法。
由于这些计算是滚动统计的特例,因此 在pandas中实现,以便以下两个调用 当量:
In [96]: df.rolling(window=len(df), min_periods=1).mean()[:5]
Out[96]:
A B C D
2000-01-01 0.314226 -0.001675 0.071823 0.892566
2000-01-02 0.654522 -0.171495 0.179278 0.853361
2000-01-03 0.708733 -0.064489 -0.238271 1.371111
2000-01-04 0.987613 0.163472 -0.919693 1.566485
2000-01-05 1.426971 0.288267 -1.358877 1.808650
In [97]: df.expanding(min_periods=1).mean()[:5]
Out[97]:
A B C D
2000-01-01 0.314226 -0.001675 0.071823 0.892566
2000-01-02 0.654522 -0.171495 0.179278 0.853361
2000-01-03 0.708733 -0.064489 -0.238271 1.371111
2000-01-04 0.987613 0.163472 -0.919693 1.566485
2000-01-05 1.426971 0.288267 -1.358877 1.808650
答案 1 :(得分:11)
总结一行滚动功能和扩展功能之间的区别: 在滚动功能中,窗口大小保持不变,而在扩展功能中,窗口大小改变。
示例: 假设您要预测天气,您有100天的数据:
滚动:假设窗口大小为10。对于第一个预测,它将使用(先前)10天的数据并预测第11天。对于下一个预测,它将使用第二天(数据点)数据的第11天。
扩展:对于首次预测,它将使用10天的数据。但是,对于第二次预测,它将使用 10 + 1天数据。因此,该窗口已“展开”。
代码示例:
sums = series.expanding(min_periods=2).sum()
series
包含时间序列中先前下载的应用程序数量的数据。
以上编写的代码行总结了截至该时间之前已下载的所有应用程序的数量。
注意:min_periods=2
表示我们至少需要2个先前的数据点才能汇总。我们的总和是总和。
答案 2 :(得分:11)