Python 如何在熊猫身上进行滚动回归

Python 如何在熊猫身上进行滚动回归,python,pandas,dataframe,scipy,Python,Pandas,Dataframe,Scipy,我有以下代码(它不是有效的,因为它是在一个循环中) 如何以更有效的形式重写此代码?是否可以进行滚动申请 非常感谢。所以我以循环的方式完成了这项工作,这不是最好的解决方案。显然,这不是一个好的解决方案,尽管它是有效的 还有更好的主意吗 grouped = full_sample.groupby('ID') df = pd.DataFrame() for name, group in grouped: a=[] if len(group) > 126: for

我有以下代码(它不是有效的,因为它是在一个循环中)

如何以更有效的形式重写此代码?是否可以进行滚动申请


非常感谢。

所以我以循环的方式完成了这项工作,这不是最好的解决方案。显然,这不是一个好的解决方案,尽管它是有效的

还有更好的主意吗

grouped = full_sample.groupby('ID')

df = pd.DataFrame()
for name, group in grouped:
    a=[]
    if len(group) > 126:
        for pos in range(126, len(group)) :
            a.append(linregress(group.x.iloc[(pos-126):pos], group.y.iloc[(pos-126):pos])[0])
        data= pd.DataFrame(a, index= (group.index.get_level_values(0).unique())[126:] ).assign(ID=name).set_index('ID', append=True)
df.append(data)
谢谢

grouped = full_sample.groupby('ID')

df = pd.DataFrame()
for name, group in grouped:
    a=[]
    if len(group) > 126:
        for pos in range(126, len(group)) :
            a.append(linregress(group.x.iloc[(pos-126):pos], group.y.iloc[(pos-126):pos])[0])
        data= pd.DataFrame(a, index= (group.index.get_level_values(0).unique())[126:] ).assign(ID=name).set_index('ID', append=True)
df.append(data)