我有一个有关水果销售的整齐数据集,其中每一行都是一个单独的交易:
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
内有什么方法可以做同样的事情吗?