截断数据帧上的线性回归不起作用



>我有一个数据帧,我已经对其进行了分组,然后提取了 2 列值之间的斜率。代码如下。 grouped_full= data_train.groupby(['Cycle', 'Type']) slope_full = (grouped_full.apply(lambda x: linregress(x['Time'], x['Values']).slope)).reset_index(name='Slope')

我在一个名为"斜率"的新列中得到了斜率。现在,我正在尝试对每个分组项目中的前 1700 行执行相同的操作。为了获得 1700 行,我使用了如下代码grouped_small = data_train.groupby(['Cycle', 'Type']).head(1700)我已经打印并检查过,数据框很好。但是,当我尝试使用slope_small = (grouped_small.apply(lambda a: linregress(a['Time'], a['Values']).slope)).reset_index(name='Slope2')提取斜率时,我遇到了错误

KeyError: ('Time', 'occurred at index Cycle')

它是完全相同的代码。我不确定为什么会遇到此错误。我应该怎么做才能修复它?

">

grouped_full"是一个pandas.core.groupby.generic.DataFrameGroupBy因此Apply Comman将处理that.grouped_small是一个完整的数据帧pandas.core.frame.DataFrame和apply将不起作用。所以我做了以下工作,它正在grouped_small = data_train.groupby(['Cycle', 'Type']).head(1700) grouped_small2 = grouped_small.groupby(['Cycle', 'Type']) slope_small = (grouped_small2.apply(lambda x: linregress(x['Time'], x['Values']).slope)).reset_index(name='Slope_small')