我正在使用Categorical
dtype 创建多个数据透视表,然后将它们合并到一个大数据透视表/数据框中。
但是,在某些情况下,我NaN
在执行合并时得到,当我尝试时fillna(0)
,我得到以下错误:ValueError: fill value must be in categories
pv1 = pd.PivotTable(df, index='Category', values='Sales', aggfunc='sum')
pv2 = pd.PivotTable(df, index='Category', values='Quantity', aggfunc='sum')
chart = pv1.merge(pv2, on='Category', how='outer').fillna(0)
实际输出:
Category Sales Quantity
Boxes 100 NaN
Staples 20 10
Paper NaN 20
期望的输出:
Category Sales Quantity
Boxes 100 0
Staples 20 10
Paper 0 20