本文使用pandas 1.3.5 , python 3, numpy 1.22.0库
文章目录
前言
pandas.DataFrame.rolling方法就是SQL中的 group by方法, 唯一一点区别就是rolling方法的分组不是一成不变的,而是随着窗口的移动而不停更新新的分组。
一 、rolling使用公式
pandas.DataFrame.rolling(window = ).聚合函数
【注:rolling方法是向前取数据!!!】
聚合函数总结如下,
max 最大值
min 最小值
mean 平均值
median 中位数
sum 求和
var 方差
std 标准差
skew 三阶矩(又叫偏斜度)
kurt 四截距 (又叫峰度)
cov 两个变量协方差
corr 相关系数
quantile 百分数
二、python实现
比如,我想分别以2和4为滑动窗口,计算dataFrame格式数据“C”列的和,并分别以“D”和 “E”命名
代码如下,
import pandas as pd
import numpy as np
np.random.seed(0)
date_DataFrame1 = pd.DataFrame(np.random.randn(10,3), index = pd.date_range("2020-05-01", periods = 10), columns = ["A","B","C"])
date_DataFrame1["D"] = date_DataFrame1["C"].rolling(window = 2).sum()
date_DataFrame1["E"] = date_DataFrame1["C"].rolling(window = 4).sum()
结果如下,