pandas___rolling

直接上代码演示:

import pandas as pd
s = [1,2,3,5,6,10,12,14,12,30]
print(pd.Series(s))
print(pd.Series(s).rolling(window=3).mean())
print(pd.Series(s).rolling(window=3).count())

运行结果:

0     1
1     2
2     3
3     5
4     6
5    10
6    12
7    14
8    12
9    30
dtype: int64
0          NaN
1          NaN
2     2.000000
3     3.333333
4     4.666667
5     7.000000
6     9.333333
7    12.000000
8    12.666667
9    18.666667

dtype: float64
0    1.0
1    2.0
2    3.0
3    3.0
4    3.0
5    3.0
6    3.0
7    3.0
8    3.0
9    3.0
dtype: float64
首先看mean()就是取当前位置往前一共窗口大小的数据的平均值,本次窗口为3,由于0和1位置前面加起来没有3个数,于是mean之后为nan,之后2号位的值就等于窗口内的平均值即1+2+3/3=2,3号2+3+5/3=3.3333,以此类推。

再看count()查阅官方文档(The rolling count of any non-NaN observations inside the window.),即统计窗口内非NAN的个数,本次数据未包含NAN,因而结果依次为1 2 3 3 3 3 3 3 3 3。

比较乱,仅供自己食用(呲牙)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值