python-如何使用函数使用.rolling.apply将两列返回到数据帧

python-如何使用函数使用.rolling.apply将两列返回到数据帧,python,dataframe,function,apply,rolling-computation,Python,Dataframe,Function,Apply,Rolling Computation,我有两个基本相同代码的函数。两个函数只返回不同的值。 函数是相当CPU密集的,所以我希望能够在调用中完成这一切,而不是两个单独的调用 def compute_slope(i, y): output = linregress(list(range(len(y))), y) return output.slope def compute_intercept(i, y): output = linregress(list(range(len(y))), y) retu

我有两个基本相同代码的函数。两个函数只返回不同的值。 函数是相当CPU密集的,所以我希望能够在调用中完成这一切,而不是两个单独的调用

def compute_slope(i, y):
    output = linregress(list(range(len(y))), y)
    return output.slope

def compute_intercept(i, y):
    output = linregress(list(range(len(y))), y)
    return output.intercept
我这样称呼他们:

dataframe['intercept'] = dataframe['close'].rolling(window=self.lookback).apply(self.compute_intercept)
dataframe['slope'] = dataframe['close'].rolling(window=self.lookback).apply(self.compute_slope)
def compute(i, y):
    output = linregress(list(range(len(y))), y)
    return output.slope output.interception



dataframe['output', 'intercept'] = dataframe['close'].rolling(window=self.lookback).apply(self.compute)
我怎么能只打一个电话就得到同样的结果呢

大概是这样的:

dataframe['intercept'] = dataframe['close'].rolling(window=self.lookback).apply(self.compute_intercept)
dataframe['slope'] = dataframe['close'].rolling(window=self.lookback).apply(self.compute_slope)
def compute(i, y):
    output = linregress(list(range(len(y))), y)
    return output.slope output.interception



dataframe['output', 'intercept'] = dataframe['close'].rolling(window=self.lookback).apply(self.compute)
任何帮助都将不胜感激。当然,最简单和最快的(CPU方面的)将是最好的。
谢谢你

真的,没有人知道这个解决方案吗?