Pandas 重新索引组以添加缺少的行

Pandas 重新索引组以添加缺少的行,pandas,reindex,Pandas,Reindex,我正在尝试重新索引组,以扩展缺少值的数据帧。与时间索引的重采样工作类似,我试图为正常整数值实现这一点 因此,对于属于某个组密钥的组(在我的情况下为proID),应确定存在的最大整数值(指定重采样过程的终点)。该组将通过该整数值的缺失值进行扩展(我正试图使用reindex实现) 我有一个数据帧,每个proID有许多行,一个整型bin值,范围从0到100,还有一些无意义的列。基本上,如果某些数据丢失,应填写bin值,类似于时间索引的重新采样 def rsmpint(df): mx = df.

我正在尝试重新索引组,以扩展缺少值的数据帧。与时间索引的重采样工作类似,我试图为正常整数值实现这一点

因此,对于属于某个组密钥的组(在我的情况下为proID),应确定存在的最大整数值(指定重采样过程的终点)。该组将通过该整数值的缺失值进行扩展(我正试图使用reindex实现)

我有一个数据帧,每个proID有许多行,一个整型bin值,范围从0到100,还有一些无意义的列。基本上,如果某些数据丢失,应填写bin值,类似于时间索引的重新采样

def rsmpint(df):
    mx = df.bin.max() #identify maximal existing bin value in dataframe (group)
    no = (mx * 20 / 100).astype(np.int64) + 1 #calculate number of bin values
    idx = pd.Index(np.linspace(0,mx,no), name='bin') # define full bin-Index for df (group)
    df.set_index('bin').reindex(idx).ffill().reset_index(drop=True, inplace=True)
    return df


DF.groupby('proID').apply(rsmpint)
假设特定proID当前有5个bin值[0、15、20、40、65](即原始proID组的5行)。输出应为扩展proID组,bin值为[0,5,10,15,20,25,30,35,40,45,50,60,65],内容为使用ffill()填充的“无意义”列