在 Python pandas 中是否有等同于 SQL GROUP BY ROLLUP 的东西?

Is there an equivalent of SQL GROUP BY ROLLUP in Python pandas?

Here 是它在 Oracle 中的工作方式。我正在 pandas 中寻找一个简洁的等价物,最好与 python notebook 的 DataFrame 渲染集成在一起。 GROUP BY ROLLUP 的要点是,如果您按多列分组,您还会看到聚合,就像按这些列的子集分组一样。

参考这个回答Pandas Pivot tables row subtotals

它使用 pivot_table() with margins=True 添加总计列

然后通过使用 stack()

对 pivot_table 进行一些重塑

不如 group by rollup 灵活,但它有效