栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

数据分析之滚动窗口pandas.DataFrame.rolling方法

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

数据分析之滚动窗口pandas.DataFrame.rolling方法

本文使用pandas 1.3.5 , python 3, numpy 1.22.0库

文章目录

前言一 、rolling使用公式二、python实现


前言

pandas.Dataframe.rolling方法就是SQL中的 group by方法, 唯一一点区别就是rolling方法的分组不是一成不变的,而是随着窗口的移动而不停更新新的分组。

一 、rolling使用公式

pandas.Dataframe.rolling(window = ).聚合函数
【注:rolling方法是向前取数据!!!】
聚合函数总结如下,

max 最大值
min 最小值
mean 平均值
median 中位数
sum 求和
var 方差
std 标准差
skew 三阶矩(又叫偏度,用于描述一组数据分布的对称性)
kurt 四截距 (又叫峰度, 用于描述一组数据在均值附近分布的集中度)
cov 协方差
corr 相关系数(对不同单位敏感性强;通常使用pearson相关系数,该系数对不同单位脱敏)
quantile 百分数

【注:scipy.stats的skew和kurtosis方法和 pandas中的skew和kurt方法计算算法不同】

二、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()

结果如下,

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/738810.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号