return df.reindex(index, fill_value=0)
df = df.groupby('product').apply(reindex_by_max_index_of_group)
df.drop(['product'], inplace=True, axis=1)
print(df.reset_index())
Скользящая сумма Pandas с неравномерным индексом