计算多行相关性

时间:2018-12-07 12:34:52

标签: python-3.x math statistics rows

我正在尝试计算几行中具有不同滞后的自相关。

我现在有了一个代码,可以计算一行的自相关:

import pandas as pd
import numpy as np
df = pd.read_excel("file.xlsx")

def autocorr(x, t):
    return np.corrcoef(np.array([x[0:len(x)-t], x[t:len(x)]]))

df1 = df.copy(deep=True) 
df1["output"] = autocorr(df.T[0], 1)[0, 1]
df1["output2"]= autocorr(df.T[0], 2)[0, 1]
df1["output3"]= autocorr(df.T[0], 3)[0, 1]
df1["output4"]= autocorr(df.T[0], 4)[0, 1]
df1["output5"]= autocorr(df.T[0], 5)[0, 1]
df1["output6"]= autocorr(df.T[0], 6)[0, 1]
df1["output7"]= autocorr(df.T[0], 7)[0, 1]
df1["output8"]= autocorr(df.T[0], 8)[0, 1]
df1["output9"]= autocorr(df.T[0], 9)[0, 1]
df1["output10"]= autocorr(df.T[0], 10)[0, 1]
df1["output11"]= autocorr(df.T[0], 11)[0, 1]
df1["output12"]= autocorr(df.T[0], 12)[0, 1]

df1

现在的输出是:

output

但是,正如您所看到的,他正在正确计算第一行的自相关,但是他正在将其复制到另一行。我想按行进行计算。

如何调整我的代码,使其成为输出?另外,在我的代码中,您看到我正在分别定义每列。也许是一个使它更高效并在一行中完成的想法。

期待一些反馈,

史蒂芬

0 个答案:

没有答案