python | pandas | 移动窗口函数rolling

                    版权声明:本文为博主原创文章,未经博主允许不得转载。                        https://blog.csdn.net/xxzhangx/article/details/76938053                    </div>
                                    <link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-cd6c485e8b.css">
                                                        <div id="content_views" class="markdown_views">
                    <!-- flowchart 箭头图标 勿删 -->
                    <svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
                        <path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path>
                    </svg>
                    <blockquote>

超级好用的移动窗口函数

最近经常使用移动窗口函数,觉得很方便,功能强大,代码简单,故将pandas中的移动窗口函数都做介绍。它都是以rolling打头的函数,后接具体的函数,来显示该移动窗口函数的功能。

rolling_count 计算各个窗口中非NA观测值的数量

函数

pandas.rolling_count(arg, window, freq=None, center=False, how=None)
 
 
  • 1

arg : DataFrame 或 numpy的ndarray 数组格式
window : 指移动窗口的大小,为整数
freq :
center : 布尔型,默认为False, 指取中间的
how : 字符串,默认为“mean”,为down- 或re-sampling

import pandas as pd
import numpy as np
df = pd.DataFrame({'key1':['a','a','b','b','a'],
               'key2':['one','two','one','two','one'],
               'data1':np.nan,
               'data2':np.random.randn(5)})
df


 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

这里写图片描述

pd.rolling_count(df[['data1','data2']],window = 3)
 
 
  • 1

这里写图片描述

rolling_sum 移动窗口的和

pandas.rolling_sum(arg, window, min_periods=None, freq=None, center=False, how=None, **kwargs)
 
 
  • 1

arg : 为Series或DataFrame
window : 窗口的大小
min_periods : 最小的观察数值个数
freq :
center : 布尔型,默认为False, 指取中间的
how : 取值的方式,默认为None

pd.rolling_sum(df,window = 2,min_periods = 1)
 
 
  • 1

这里写图片描述

rolling_mean 移动窗口的均值

pandas.rolling_mean(arg, window, min_periods=None, freq=None, center=False, how=None, **kwargs)

 
 
  • 1
  • 2

rolling_median 移动窗口的中位数

pandas.rolling_median(arg, window, min_periods=None, freq=None, center=False, how='median', **kwargs)

 
 
  • 1
  • 2

rolling_var 移动窗口的方差

pandas.rolling_var(arg, window, min_periods=None, freq=None, center=False, how=None, **kwargs)
 
 
  • 1

rolling_std 移动窗口的标准差

pandas.rolling_std(arg, window, min_periods=None, freq=None, center=False, how=None, **kwargs)
 
 
  • 1

rolling_min 移动窗口的最小值

pandas.rolling_min(arg, window, min_periods=None, freq=None, center=False, how='min', **kwargs)
 
 
  • 1

rolling_max 移动窗口的最大值

pandas.rolling_min(arg, window, min_periods=None, freq=None, center=False, how='min', **kwargs)
 
 
  • 1

rolling_corr 移动窗口的相关系数

pandas.rolling_corr(arg1, arg2=None, window=None, min_periods=None, freq=None, center=False, pairwise=None, how=None)
 
 
  • 1

rolling_corr_pairwise 配对数据的相关系数

等价于: rolling_corr(…, pairwise=True)

pandas.rolling_corr_pairwise(df1, df2=None, window=None, min_periods=None, freq=None, center=False)
 
 
  • 1

rolling_cov 移动窗口的协方差

pandas.rolling_cov(arg1, arg2=None, window=None, min_periods=None, freq=None, center=False, pairwise=None, how=None, ddof=1)
 
 
  • 1

rolling_skew 移动窗口的偏度(三阶矩)

pandas.rolling_skew(arg, window, min_periods=None, freq=None, center=False, how=None, **kwargs)
 
 
  • 1

rolling_kurt 移动窗口的峰度(四阶矩)

pandas.rolling_kurt(arg, window, min_periods=None, freq=None, center=False, how=None, **kwargs)
 
 
  • 1

rolling_apply 对移动窗口应用普通数组函数

pandas.rolling_apply(arg, window, func, min_periods=None, freq=None, center=False, args=(), kwargs={})
 
 
  • 1

rolling_quantile 移动窗口分位数函数

pandas.rolling_quantile(arg, window, quantile, min_periods=None, freq=None, center=False)
 
 
  • 1

rolling_window 移动窗口

pandas.rolling_window(arg, window=None, win_type=None, min_periods=None, freq=None, center=False, mean=True, axis=0, how=None, **kwargs)
 
 
  • 1

ewma 指数加权移动

ewma(arg[, com, span, halflife, ...])
 
 
  • 1

ewmstd 指数加权移动标准差

ewmstd(arg[, com, span, halflife, ...])
 
 
  • 1

ewmvar 指数加权移动方差

ewmvar(arg[, com, span, halflife, ...])
 
 
  • 1

ewmcorr 指数加权移动相关系数

ewmcorr(arg1[, arg2, com, span, halflife, ...])
 
 
  • 1

ewmcov 指数加权移动协方差

ewmcov(arg1[, arg2, com, span, halflife, ...])
 
 
  • 1
                <link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-e44c3c0e64.css" rel="stylesheet">
                                </div>
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python Pandas中的移动窗口函数rolling()是一种与mean、count、sum、median、std等聚合函数一起使用的函数。它可以根据指定的窗口大小,在一组数据上进行滑动计算。这个窗口可以是固定大小的,也可以是不断扩展的。 使用rolling()函数时,需要指定窗口的大小,可以使用参数window=n来设置窗口的大小。另外,还可以使用参数min_periods来指定窗口中必须包含的非空观测值的最小数量。还可以使用参数center来指定窗口是否居中,默认是False。 下面是一个示例代码,展示了如何使用rolling()函数计算移动窗口的平均值: ```python import pandas as pd import numpy as np # 创建一个DataFrame df = pd.DataFrame(np.random.randn(10, 4), index=pd.date_range('1/1/2018', periods=10), columns=['A', 'B', 'C', 'D']) # 使用rolling()函数计算移动窗口的平均值 rolling_mean = df.rolling(window=3).mean() print(rolling_mean) ``` 这段代码会计算一个窗口大小为3的移动窗口的平均值,并将结果打印出来。在这个示例中,我们创建了一个10行4列的DataFrame,并使用rolling()函数计算了每个窗口中的平均值。 希望对你有所帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [python pandas移动窗口函数rolling的用法](https://download.csdn.net/download/weixin_38678172/12854876)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Python Pandas窗口函数](https://blog.csdn.net/ccc369639963/article/details/124270179)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值