【发布时间】:2019-08-22 18:47:52
【问题描述】:
我有以下数据框:
group bin
a 0
a 0
a 0
a 1
a 1
b 0
b 1
b 1
对于每个组和每一行,我想计算每行之后的行数,并且我还想计算每行之后的行的总和。所以我正在寻找的输出是这样的:
group bin countafter sum
a 0 4 2
a 0 3 2
a 0 2 2
a 1 1 1
a 1 0 0
b 0 2 2
b 1 1 1
b 1 0 0
在这种情况下,a 组中的总和对每一行之后的所有行的 bin 求和。比如a组的第4行,bin=1之后只有一行,所以sum为1。
先做一个分组,然后再做一个 apply(lambda x:) 或 filter 只对这个组起作用。如何对组中的每一行应用计数和求和函数?
【问题讨论】:
-
你在总结什么?
-
你能解释一下 sum 背后的逻辑吗?
-
抱歉,我意识到这很混乱。我更详细地编辑了这篇文章。我正在对 bin 列求和。因此对于 a 组的第 3 行,它将是 Sum(bin[4], bin[5])