加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

移动窗口函数rolling

(2017-11-25 15:37:32)
标签:

python

分类: python

http://blog.csdn.net/xxzhangx/article/details/76938053?locationNum=2

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

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

函数


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

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

http://img.blog.csdn.net/20170808201901227?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveHh6aGFuZ3g=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast


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

http://img.blog.csdn.net/20170808202056868?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveHh6aGFuZ3g=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast

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

http://img.blog.csdn.net/20170808203009730?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveHh6aGFuZ3g=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast

rolling_mean 移动窗口的均值


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


rolling_median 移动窗口的中位数


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


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, ...])

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有