Объедините аккуратные данные с holoviews

У меня есть аккуратный набор данных о продажах фруктов, где каждая строка представляет собой отдельную транзакцию:

df = pd.DataFrame([['2018-01', 'apple', 3],
                   ['2018-01', 'orange', 1],
                   ['2018-02', 'apple', 4],
                   ['2018-02', 'apple', 2],
                   ['2018-03', 'orange', 1]], 
                  columns=['date', 'product', 'volume'])

и я хотел бы построить график ежемесячных продаж. Итак, я создаю набор данных

ds = hv.Dataset(df, kdims=['date', 'product'], vdims=['volume'])

затем подготовьте это:

ds.aggregate(['date', 'product'], np.sum).to(hv.Curve, 'date', 'volume').overlay()

Моя проблема в том, что если не было продаж для продукта в течение определенного месяца, это не отображается как точка данных в результате. Я знаю, что в пандах нужно использовать

df.pivot_table('volume', 'date', 'product', aggfunc='sum', fill_value=0)

или же

df.groupby(['date', 'product']).sum().unstack().fillna(0)

создать недостающие нули.

Есть ли способ сделать то же самое в holoviews?

0 ответов

Другие вопросы по тегам