df = pd.DataFrame(dict(pageid=[0, 0, 1, 1], category=['a', 'b', 'a', 'c']))
grouped = df.groupby('pageid').category.apply(lambda lst: tuple((k, 1) for
    k in lst))
category_dicts = [dict(tuples) for tuples in grouped]
Создайте манекены из столбца с несколькими значениями в пандах