我正在尝试将功能应用于滚动窗口。我需要从数据框中引用多个列以计算函数的输出。 下面是一些示例代码,说明我正在尝试执行此操作。
import pandas as pd
import statsmodels.formula.api as smf
d = pd.DataFrame({
'Col1': range(0,10),
'Col2': range(10,20),
'Col3': range(20,30)
})
func = lambda x: smf.ols('Col1 ~ Col2', data=x).fit().params[1]
d['Out'] = d.rolling(3).apply(func)
谢谢
答案 0 :(得分:0)
当前rolling
的实现分别与每一列配合使用,因此不可能将2个不同的列相加。
您可以通过以下方式对其进行测试:
def func(x):
print (x)
return x.sum()
d.rolling(3).apply(func)