Python Pandas dataframe.rolling()

Python Pandas dataframe.rolling()

Python是一种进行数据分析的伟大语言,主要是因为以数据为中心的Python包的奇妙生态系统。_Pandas _是其中一个包,它使导入和分析数据变得更加容易。
Pandas dataframe.rolling()函数提供了滚动窗口计算的功能。滚动窗口计算的概念主要用于信号处理和时间序列数据。简单地说,我们每次取一个大小为k的窗口,然后对其进行一些所需的数学运算。一个大小为k的窗口意味着每次有k个连续的数值。在一个非常简单的情况下,所有的 “k “值都是同等权重的。

语法 : DataFrame.rolling(window, min_periods=None, freq=None, center=False, win_type=None, on=None, axis=0, closed=None)
参数 :
window :移动窗口的大小。这是用于计算统计量的观察值的数量。每个窗口将是一个固定的大小。如果它是一个偏移量,那么这将是每个窗口的时间段。每个窗口的大小将是一个变量,基于时间段内包含的观测值。这只对类似数据时间的指数有效。
min_periods :窗口中需要有数值的最小观测数(否则结果为NA)。对于一个由偏移量指定的窗口,这将默认为1。
freq :在计算统计量之前,要将数据符合的频率。指定为一个频率字符串或DateOffset对象。
center :将标签设置在窗口的中心。
win_type :提供一个窗口类型。见下面的注释。
on :对于一个DataFrame,计算滚动窗口的列,而不是索引。
closed :使区间在 “右”、”左”、”两者 “或 “两者 “端点上关闭。对于基于偏移量的窗口,它默认为 “右”。对于固定窗口,默认为’两个’。对于固定窗口,其余的情况不执行。
axis:int或字符串,默认为0

注意: freq关键字用于通过对数据进行重新取样,使时间序列数据符合指定的频率。这是用resample()的默认参数完成的(即使用平均值)。
如果win_type=none,那么窗口中的所有值都是均匀加权的。还有其他各种类型的滚动窗口类型。要了解更多关于其他滚动窗口类型的信息,请参考这个scipy文档。
对于代码中使用的CSV文件的链接,点击这里。这是苹果公司从(13-11-17)到(13-11-18)1年的股票价格数据。
例子#1:股票收盘价一栏的窗口大小为3的滚动总和

# importing pandas as pd
import pandas as pd
 
# By default the "date" column was in string format,
#  we need to convert it into date-time format
# parse_dates =["date"], converts the "date" column to date-time format
 
# Resampling works with time-series data only
# so convert "date" column to index
# index_col ="date", makes "date" column
df = pd.read_csv("apple.csv", parse_dates =["date"], index_col ="date")
 
# Printing the first 10 rows of dataframe
df[:10]
Python

Python Pandas dataframe.rolling()

# 3 indicates the window size
# we have selected 'triang' type window
# which 返回值 triangular type window
 
# sum() function find the sum over
# all the windows in our data frame
df.close.rolling(3, win_type ='triang').sum()
Python

输出 :

Python Pandas dataframe.rolling()

例子2:窗口大小为3的滚动窗口平均值。我们使用默认的窗口类型为无。所以所有的值都将被平均加权。

# importing pandas as pd
import pandas as pd
 
df = pd.read_csv("apple.csv", parse_dates =["date"], index_col ="date")
 
# close is the column on which
# we are performing the operation
# mean() function finds the mean over each window
df.close.rolling(3).mean()
Python

输出 :

Python Pandas dataframe.rolling()

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册