Pandas 如何从DataFrame.groupby.rolling.apply返回多个值?

Pandas 如何从DataFrame.groupby.rolling.apply返回多个值?,pandas,apply,rolling-computation,Pandas,Apply,Rolling Computation,我想在滚动窗口上应用一个函数。我使用groupby方法组织数据。但函数必须返回两个值;当我这样做时,我会得到错误: 我希望代码向数据帧添加两个新列。相反,我收到了一条错误消息 cannot convert the series to <type 'float'> df=pd.DataFrame({'A':[1,1,1,1,2,2,2,2],'B':[0.2,0.5,1.0,1.2,1.7,1.9,2.1,2.4]}) def basic_function(y): sum1

我想在滚动窗口上应用一个函数。我使用
groupby
方法组织数据。但函数必须返回两个值;当我这样做时,我会得到错误:

我希望代码向数据帧添加两个新列。相反,我收到了一条错误消息

cannot convert the series to <type 'float'>
df=pd.DataFrame({'A':[1,1,1,1,2,2,2,2],'B':[0.2,0.5,1.0,1.2,1.7,1.9,2.1,2.4]})

def basic_function(y):
    sum1=0
    sum2=0
    for x in y:
        sum1=sum1+x*x
        sum2=sum2+x*x*x
    return sum1/len(y),sum2/len(y)

df.groupby(['A'])['B'].rolling(2).apply(basic_function)