0

我想用该组中的“id”填充一个特定列,即“id”列,并在应用分组重新索引后用 0 向前填充其他列。

我当前使用 0 填充所有缺失值的版本如下所示:

def reindex_by_date(df):
    bd = pd.bdate_range('2000-12-18', '2020-12-31')
    return df.reindex(bd)
test.groupby('id').apply(reindex_by_date).reset_index(0, drop=True)

但我无法在该组中用 id 填充“id”

4

1 回答 1

0

我找到了解决方案。发布所以也许它会帮助别人:

def reindex_by_date(df):
    df = df.reindex(pd.bdate_range('2000-12-18', '2020-12-31'))
    df['id']=df['id'].ffill().bfill()
    df['weight'] = df['weight'].fillna(0)
    df['return'] = df['return'].fillna(0)
    return (df)

test_new= test.groupby('id').apply(reindex_by_date).rename_axis(('id','date')).drop('id',1).reset_index()
于 2021-04-21T10:53:40.040 回答