Pandas移动窗口函数rolling()

在Pandas中,可以通过rolling函数实现移动窗口数据的计算。

import pandas as pd
import numpy as np 
import matplotlib.pyplot as plt

index=pd.date_range('20200201','20200215')
data=np.random.randint(1,10,size=15)
s1_data=pd.Series(data, index=index)
s1_data_rolling=s1_data.rolling(3).mean() # 设置观测窗口观测数量为3
s1_data_rolling_min=s1_data.rolling(3,min_periods=1).mean() #min_periods 设置观测窗口最小观测数量
pd.DataFrame({'origin':s1_data,'rolling':s1_data_rolling,'rolling_min':s1_data_rolling_min})

plt.figure(figsize=(12,6))
plt.plot(s1_data,label='no rolling')
plt.plot(s1_data_rolling, label='rolling')
plt.legend()

import pandas as pd  
import numpy as np 

index = pd.date_range('2019-01-01',periods=10)  
#创建日期序列

data = pd.DataFrame(np.arange(len(index)),index=index,columns=['test'])
#创建简单的pd.DataFrame

data
#打印data
data['sum'] = data.test.rolling(3).sum()
#移动3个值,进行求和
data['mean'] = data.test.rolling(3).mean()
#移动3个值,进行求平均数
data['mean1'] = data.test.rolling(3,min_periods=2).mean()

data结果:
QQ图片20201218222438.png

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权,转载请注明出处。
文章名称:《Pandas移动窗口函数rolling()》
文章来自:泰恩数据
文章链接:https://tyne.cc/657.html
本站资源仅供个人学习使用,请勿用于商业用途。

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址