使用多列的熊猫数据框滚动应用功能

时间:2020-06-03 05:27:21

标签: python pandas

我正在尝试将功能应用于滚动窗口。我需要从数据框中引用多个列以计算函数的输出。 下面是一些示例代码,说明我正在尝试执行此操作。

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)

谢谢

1 个答案:

答案 0 :(得分:0)

当前rolling的实现分别与每一列配合使用,因此不可能将2个不同的列相加。

您可以通过以下方式对其进行测试:

def func(x):
    print (x)
    return x.sum()

d.rolling(3).apply(func)