还有其他人在使用pandas中的新rolling.std()时遇到问题吗?弃用的方法是rolling_std()。新方法运行良好,但会产生一个不随时间序列滚动的常数。示例代码如下。如果您交易股票,您可能会认出布林带的公式。我从rolling.std()获得的输出每天跟踪库存,显然没有滚动。这在pandas0.19.1中。任何帮助,将不胜感激。importdatetimeimportpandasaspdimportpandas_datareader.dataaswebstart=datetime.datetime(2012,1,1)end=datetime.datetime(2012,1
我有一个pandas数据框,我想计算列的滚动平均值(在groupby子句之后)。但是,我想排除NaN。例如,如果groupby返回[2,NaN,1],则结果应为1.5,而当前它返回NaN。我尝试了以下方法,但似乎不起作用:df.groupby(by=['var1'])['value'].apply(pd.rolling_apply,3,lambdax:np.mean([iforiinxifiisnotnp.nanandi!='NaN']))如果我什至尝试这样做:df.groupby(by=['var1'])['value'].apply(pd.rolling_apply,3,lambd
我有一个日期间隔不规则的Pandas数据框。有没有办法用7天作为移动窗口来计算medianabsolutedeviation,中位数等..?我觉得我可以以某种方式使用pandas.rolling_apply但它不会为window参数采用不规则间隔的日期。我找到了类似的帖子https://stackoverflow.com/a/30244019/3128336并且我正在尝试创建我的自定义函数,但仍然无法弄清楚..任何人都可以帮忙吗?importpandasaspdfromdatetimeimportdatetimeperson=['A','B','C','B','A','C','A','
我想使用pandas.rolling_apply函数在滚动窗口的基础上应用我自己的自定义函数。但是我的函数需要两个参数,并且还有两个输出。这可能吗?下面是一个最小的可重现示例...importpandasaspdimportnumpyasnpimportrandomtmp=pd.DataFrame(np.random.randn(2000,2)/10000,index=pd.date_range('2001-01-01',periods=2000),columns=['A','B'])defgm(df,p):v=(((df+1).cumprod())-1)*preturnv.iloc[
我一直在关注类似的答案here,但是我在使用sklearn和rollingapply时有一些问题。我正在尝试创建z-scores并通过滚动应用进行PCA,但我一直收到'onlylength-1arrayscanbeconvertedtoPythonscalars'错误。按照前面的示例,我创建了一个数据框fromsklearn.preprocessingimportStandardScalerimportpandasaspdimportnumpyasnpsc=StandardScaler()tmp=pd.DataFrame(np.random.randn(2000,2)/10000,in
我正在使用pandas.rolling_apply将数据拟合到分布并从中获取值,但我还需要它报告滚动拟合优度(特别是p值)。目前我是这样做的:deffunc(sample):fit=genextreme.fit(sample)returngenextreme.isf(0.9,*fit)defp_value(sample):fit=genextreme.fit(sample)returnkstest(sample,'genextreme',fit)[1]values=pd.rolling_apply(data,30,func)p_values=pd.rolling_apply(data,
编辑:这个问题是在2016年提出的,并且在功能最终被删除多年后,类似的问题已经发布在SO上,例如module'pandas'hasnoattribute'rolling_mean'但是,问题涉及新的pd.rolling.mean()的性能,应该保持开放状态直到相关的pandasissue是固定的。看起来pd.rolling_mean正在被ndarrays弃用,pd.rolling_mean(x,window=2,center=False)FutureWarning:pd.rolling_meanisdeprecatedforndarraysandwillberemovedinafutu
编辑:这个问题是在2016年提出的,并且在功能最终被删除多年后,类似的问题已经发布在SO上,例如module'pandas'hasnoattribute'rolling_mean'但是,问题涉及新的pd.rolling.mean()的性能,应该保持开放状态直到相关的pandasissue是固定的。看起来pd.rolling_mean正在被ndarrays弃用,pd.rolling_mean(x,window=2,center=False)FutureWarning:pd.rolling_meanisdeprecatedforndarraysandwillberemovedinafutu
我的动机是使用pandasrolling功能来执行滚动多因素回归(这个问题不是关于滚动多因素回归)。我希望我能够在df.rolling(2)之后使用apply并使用生成的pd.DataFrame提取ndarray使用.values并执行必要的矩阵乘法。结果并非如此。这是我发现的:importpandasaspdimportnumpyasnpnp.random.seed([3,1415])df=pd.DataFrame(np.random.rand(5,2).round(2),columns=['A','B'])X=np.random.rand(2,1).round(2)物体是什么样子的
我的动机是使用pandasrolling功能来执行滚动多因素回归(这个问题不是关于滚动多因素回归)。我希望我能够在df.rolling(2)之后使用apply并使用生成的pd.DataFrame提取ndarray使用.values并执行必要的矩阵乘法。结果并非如此。这是我发现的:importpandasaspdimportnumpyasnpnp.random.seed([3,1415])df=pd.DataFrame(np.random.rand(5,2).round(2),columns=['A','B'])X=np.random.rand(2,1).round(2)物体是什么样子的