【发布时间】:2021-02-28 17:17:09
【问题描述】:
我有一个对象,我是通过在 pandas 中执行 groupby(["A", "B"] 和 .nlargest(3) 函数得到的。
即:
df.groupby(["A", "B"])["Column"].nlargest(3).reset_index().unstack()
现在每个“A”“B”有 3 个值。 我做了一个 unstack 并且它可以工作,但是我达到了内存容量并且它有时会崩溃。
我有点记得很久以前找到了解决这个问题的(内置)解决方案,但再也找不到了。如有重复请见谅,提前致谢!
【问题讨论】:
-
使用此代码,您可能会为每个索引创建 3 个最大值所在的列,这意味着您最终会得到很多列 - ngroups*3 和 nans - 这就是您想要的?
-
@anky 嗨,不,对不起,我试图浓缩我为理解所做的实际工作,即首先重新索引然后取消堆叠。实际上,我要做的就是将每个索引的三个值分成三个不同的列。我正在寻找类似于爆炸但行到列的东西
标签: pandas pandas-groupby