pd.expanding()时间序列中min_periods到底怎么理解

本文详细解析了pandas库中DataFrame的expanding和rolling函数的使用方法,特别是min_periods参数的意义,通过实例展示了如何设定窗口大小进行数据计算。
DataFrame.expanding(min_periods=1, center=False, axis=0)
return 的是a Window sub-classed for the particular operation

参数min_periods : int, default 1

意思是:Minimum number of observations in window required to have a value (otherwise result is NA).

在很多时间序列函数中都有这么一个参数。具体该怎么理解呢?

直译过来是窗口中需要有值的最小观测数量。

df = pd.DataFrame({'B': [0, 1, 2, 3, 4, 5, 6, 7, 8, np.NaN]})
print(df['B'].expanding(3).sum())

1552538093529

如果是看到结果再理解,这里在逻辑上有点迷糊。

反过来,先理解最小数量,指的是df中需要至少3个数据才开始计算,center=False指当前数据行向前找3个。因此第1行和第2行向前找三个都不够数量,因此不予计算,所以结果是NaN。

对于rolling()函数也是一样理解。

先考虑df,后才有return的结果NaN,这样就清晰多了。

.
.
.
2019-03-14 12:41:11写于杭州

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值