【发布时间】:2018-12-08 13:49:30
【问题描述】:
我正在寻找对以下函数的修改,以便对每一行进行自相关计算,而不仅仅是第一行。
下面是我使用的函数:
import pandas as pd
import numpy as np
df = pd.read_excel("directory\\file.xlsx")
def autocorr(x, t):
y = np.corrcoef(np.array([x[0:len(x)-t], x[t:len(x)]]))
return y
df1 = df.copy(deep=True)
for index,row in df1.iterrows():
df1["output1"] = 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
但它一直给出以下结果(所以第一行的结果,复制到第二、第三、..行):
我什么都试过了,但我不能为每一行单独做。
【问题讨论】:
标签: python python-3.x pandas math correlation