pandas rolling方法_Pandas进阶之窗口函数rolling()和expanding()

本文介绍了Pandas中用于数据平滑处理的窗口函数,包括rolling()和expanding()。rolling()函数允许设置窗口大小,进行滑动计算,支持多种统计方法,如均值、中位数等。expanding()则实现累计计算,窗口大小随数据增加。文章通过代码示例详细解析了这两个函数的参数和用法。
摘要由CSDN通过智能技术生成

一、概念

为了处理数字数据,Pandas提供了几个变体,如滚动,展开和指数移动窗口统计的权重。 其中包括总和,均值,中位数,方差,协方差,相关性等;

所谓窗口,就是将某个点的取值扩大到包含这个点的一段区间,用区间来进行判断;

移动窗口就是窗口向一端滑行,默认是从右往左,每次滑行并不是区间整块的滑行,而是一个单位一个单位的滑行;

窗口函数主要用于通过平滑曲线来以图形方式查找数据内的趋势。如果日常数据中有很多变化,并且有很多数据点可用,那么采样和绘图就是一种方法,应用窗口计算并在结果上绘制图形是另一种方法。 通过这些方法,可以平滑曲线或趋势。

二、rolling()

1. 参数说明

DataFrame.rolling(window, min_periods=None, center=False, win_type=None,

on=None, axis=0, closed=None)

window:表示时间窗的大小,有两种形式:1)使用数值int,则表示观测值的数量,即向前几个数据;2)也可以使用offset类型,这种类型较复杂,使用场景较少,此处暂不做介绍;

min_periods:每个窗口最少包含的观测值数量,小于这个值的窗口结果为NA。值可以是int,默认None。offset情况下,默认为1;

center: 把窗口的标签设置为居中,布尔型,默认False,居右

win_type: 窗口的类型。截取窗的各种函数。字符串类型,默认为None;

on: 可选参数。对于dataframe而言,指定要计算滚动窗口的列。值为列名。

axis: 默认为0,即对列进行计算

closed:定义区间的开闭,支持int类型的window。对于offset类型默认是左开右闭的即默认为right。可以根据情况指定为left、both等。

2. 代码示例

示例中,由于窗口大小为3(window),前两个元素有空值,第三个元素的值将是n,n-1和n-2元素的平均值。

import pandas as pd

import numpy as np

df = pd.DataFrame(np.random.randn(7, 4),

index = pd.date_range('1/1/2020', periods=7),

columns = ['A', 'B', 'C', 'D'])

df

A B C D

2020-01-01 -0.103252 -0.378633 -0.689324 -1.150870

2

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值