首页 > 解决方案 > 计算与 pandas 的滚动互相关(不是 Pearson)

问题描述

我想对两个系列之间的相关性进行滚动估计。但是,我不想要标准化输出(Pearson、Spearman 或其他),但输出应提供 numpy.correlate 函数给出的值。

df.rolling().corr() 函数给出了 Pearson 相关性。

有什么建议么?

编辑以添加示例数据和预期输出

作为一个窗口大小为 2 的玩具示例,使用以下数据和输出。

a=pd.Series([1,3,4,1,3])
b=pd.Series([7,2,3,4,9])

c=a.copy()
c.iloc[0]=np.nan
for i in range(1,len(c)):
    c.iloc[i]=np.correlate(a.loc[i-1:i],b.loc[i-1:i])


 print(c)
0     NaN
1    13.0
2    18.0
3    16.0
4    31.0
dtype: float64

标签: pythonmatrixcorrelationcross-correlation

解决方案


推荐阅读