使用Python处理数据透视表时如何将空值替换为0
问题解决方法
- 方案1(推荐使用):直接在
unstack方法中传入fill_value参数,在生成透视表的同时完成空值填充,不需要额外遍历处理数据,性能更高。
对应代码如下:
df.groupby(['AÑO', 'MARCA'])['CONTEO'].aggregate('sum').unstack(fill_value=0)
- 方案2:如果已经得到了带有空值的透视表结果,可以调用
fillna方法全局替换所有空值为0,对应代码如下:
# 生成带空值的透视表 pivot_result = df.groupby(['AÑO', 'MARCA'])['CONTEO'].aggregate('sum').unstack() # 替换所有空值为0 pivot_result = pivot_result.fillna(0)
两种方案最终输出的结果完全一致,常规场景优先使用方案1即可。
内容的提问来源于stack exchange,提问作者jfcb
相关产品推荐
相关产品推荐

