pandas的窗口函数记录

本文介绍了Pandas库中三种重要的移动窗口函数:rolling用于滑动窗口统计,expanding进行扩展计算,以及ewm进行加权移动平均。通过实例演示了它们的使用方法和参数如window、min_periods、center等对结果的影响。
摘要由CSDN通过智能技术生成

1.移动窗口函数:rolling(window=n, min_periods=None, center=False)

window等于某个标量n,则意味着从当前下标位置向前数n

min_periods表示窗口里的最小元素数量,默认min_periods=window

center表示是否以当前元素为中心移动窗口,默认False

import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randn(5, 4).round(3),columns = ['A', 'B', 'C', 'D'])
print(df.rolling(window=3).mean())
print(df.rolling(window=3,center=True).mean())

两个print根据center的值变化输出结果不同:

第一个是不以当前元素为中心:

第二个是以当前元素为中心:

closed参数具体可查看图解pandas窗口函数rolling - 知乎 (zhihu.com)

(好难,理解无能)

2.扩展窗口函数:expanding(min_periods=n, center=False, axis=0)

min_periods=n表示至少n个值求一次函数值(在实际运用中未达到n值时无结果用NaN表示)

import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randn(5, 4).round(3),columns = ['A', 'B', 'C', 'D'])
print(df)
print(df.expanding(min_periods=2).sum())

结果如下:

上述代码要求至少2个值求一次sum,因此第一行是NaN(未满足条件)

3.加权移动函数:ewm(),必须指定加权元素 span、com、halflife 、alpha ——>学不懂跳过先

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值