什么是熊猫“扩大窗口”的功能?

时间:2017-07-28 10:08:49

标签: pandas

Pandas文档列出了一堆“扩展窗口函数”:

http://pandas.pydata.org/pandas-docs/version/0.17.0/api.html#standard-expanding-window-functions

但我无法弄清楚他们从文档中做了什么。

3 个答案:

答案 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天的数据:

  1. 滚动:假设窗口大小为10。对于第一个预测,它将使用(先前)10天的数据并预测第11天。对于下一个预测,它将使用第二天(数据点)数据的第11天。

  2. 扩展:对于首次预测,它将使用10天的数据。但是,对于第二次预测,它将使用 10 + 1天数据。因此,该窗口已“展开”。

    • 窗口大小在以后的方法中会不断扩大。

代码示例:

sums = series.expanding(min_periods=2).sum()

series包含时间序列中先前下载的应用程序数量的数据。 以上编写的代码行总结了截至该时间之前已下载的所有应用程序的数量。

注意:min_periods=2表示我们至少需要2个先前的数据点才能汇总。我们的总和是总和。

答案 2 :(得分:11)

这些来自Uber的插图很好地解释了这些概念:

展开窗口 enter image description here

滑动窗口

enter image description here

原创文章:https://eng.uber.com/omphalos/