Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Pandas 滚动平均的行为_Pandas - Fatal编程技术网

Pandas 滚动平均的行为

Pandas 滚动平均的行为,pandas,Pandas,在使用pandas函数时,我注意到添加一个额外的参数会改变输出,并且只在开头填充nans,而不是结尾 In[1]: import pandas as pd In[2]: pd.stats.moments.rolling_mean(np.arange(12),6) Out[2]: array([ nan, nan, nan, nan, nan, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5]) 我预计会有6个nans:3个在开头,3个

在使用pandas函数时,我注意到添加一个额外的参数会改变输出,并且只在开头填充
nans
,而不是结尾

In[1]: import pandas as pd

In[2]: pd.stats.moments.rolling_mean(np.arange(12),6)
Out[2]: 
array([ nan,  nan,  nan,  nan,  nan,  2.5,  3.5,  4.5,  5.5,  6.5,  7.5,
        8.5])
我预计会有6个
nan
s:3个在开头,3个在结尾。
我错过了什么


/M

pandas实现使用前n个值的滚动窗口,这在财务中通常是这样做的(参见此)

我想最好能有一个选项来指定是从任何一方获取值,还是只使用以前的值——您可以在上面提出问题


len(np.arange(12))
len(pd.stats.moments.rolling)的意思是(np.arange(12),6))
正如我所期望的那样,两者都等于12——你期望的结果是什么?

我也遇到过熊猫的滚动统计数据。我想说,对于非时间相关的测量,例如海拔与距离的关系,基于中心的移动窗口更有意义,因为它不会引入滞后或移位。现在对于基于时间的度量,我认为只取以前的值更有意义,因为如果“未来”值影响了当前值,则在概念上是错误的。看到它是在一个相当低的级别上实现的,这是比较舒服的。我的数据是相对湿度时间序列,但数据具有重复的锯齿效果,从而创建“锯齿状”曲线,而不是平滑曲线。我使用了pandas函数,结果与我自己能够创建的结果相匹配:一条平滑曲线,取前6个点和后6个点的平均值。当然,您可以指定滞后时间和提前期。结果看起来很好。谢谢你的帮助。