Pandas 数据透视表中缺少值?

2024-03-01

我有一个数据集,如下所示:

student     question                        answer   number
Bob         How many donuts in a dozen?       A        1
Sally       How many donuts in a dozen?       C        1
Edward      How many donuts in a dozen?       A        1
....
Edward      What colour is the sky?           C        1
Marvin      What colour is the sky?           D        1

我从中编写了一些代码来生成数据透视表来汇总测试结果,如下所示:

data = pd.pivot_table(df,index=['question'],columns = ['answer'],aggfunc='count',fill_value = 0)

                                   number
                     answer     A    B   C   D
       question
How many donuts in a dozen?     1    4   3   2
What colour is the sky?         1    9   0   0

从那里,我从数据透视表创建热图以实现可视化目的。一般来说这有效。但是,如果由于某种原因,所选组中没有学生选择其中一个答案(例如,没有人为任何问题选择“D”),则该列不会显示在热图中;该列被保留。

即使没有人选择该答案,如何确保所有必需的列都显示在热图中?


我认为更简单的方法是将“dropna = False”添加到数据透视表参数中,默认行为设置为“True”。这对我来说在类似的情况下适用于包含大量 NaN 的时间序列数据。

pd.pivot_table(dropna = False)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pandas 数据透视表中缺少值? 的相关文章

随机推荐