Объедините аккуратные данные с 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
?