我正在使用带有aggfunc=lambda x: len(x.unique())和margins=True的pandas pivot_table。但我得到了一个非常令人惊讶的结果:列'All‘没有显示为行值的总和!列'All‘中的结果系统地小于总和。

这怎么可能呢?
发布于 2017-02-02 01:46:00
在花了几个小时检查所有数据并使用Excel数据透视表函数来理解这里发生了什么之后,我发现了以下(而且非常令人惊讶的)解释: margins=True不计算行的总和,但通过将其应用于所有列来重新执行aggfunc = lambda x: len (x.unique ())命令(忽略pivot_table的' columns‘参数)。这解释了为什么显示的总和总是小于真实总和!因此,有必要非常小心地使用带有aggfunc = lambda x: len (x.unique ())的margin=true。结果可能是不可预测的。
https://stackoverflow.com/questions/41977506
复制相似问题