美文网首页Python
pandas函数-rolling

pandas函数-rolling

作者: 橘猫吃不胖 | 来源:发表于2020-06-07 15:16 被阅读0次

    前面有说过一个累计计算的系列函数,参考:pandas cum系列函数

    这个rolling函数是滚动计算

    pandas.DataFrame.rolling

    Provide rolling window calculations.
    滚动窗口计算

    DataFrame.rolling(self, window, min_periods=None, center=False, win_type=None, on=None, axis=0, closed=None)

    小栗子

    这个函数,最主要的是这个window参数,表示的是移动窗口的大小,我们看几个例子

    原始数据涨这样

    df = pd.DataFrame({'A':list(range(10))})
    
    df.rolling(2).sum()
    

    我们来看看这个结果,首先,我们传入的是2,也就是window=2,表示移动窗口的大小是2,也就是窗口中每次计算2个元素

    其他参数都是默认的,所以,这个移动窗口就从上开始一直往下移动,当窗口中不够2个元素时,就会返回NaN,就像下图这样:

    这里,我们在rolling之后用了sum,就是计算移动窗口内的元素的和
    移动平均值是一个很常见的指标,这里就可以来计算

    这里其实就是每3个元素,求个和

    注意下,上面有个地方说错了,这个窗口不是从上到下开始的,而是
    By default, the result is set to the right edge of the window

    但是,好像又不是这个意思,有点儿迷乱。。。
    我们来看个对比,顺便引入一个参数center

    我理解下来是这样的,默认右边缘的话,就是当前元素作为右边缘,我们看看下图的对比,center=True其实是将设置为中间

    我们看看这个结果,比如下标是9这里,9作为中间元素的话,它作为中间元素,是缺少左边一个数据的,所以返回来NaN

    这里要注意下

    关于这里哪个win_type参数,我是不太理解的

    我感觉窗口还是从上到下的,哈哈哈

    这个函数,在时间序列上用的比较多应该,后面写个相关的实例看看

    相关文章

      网友评论

        本文标题:pandas函数-rolling

        本文链接:https://www.haomeiwen.com/subject/qrcaahtx.html