对于表中的每条记录,我想基于两个分类列进行累计计数。你知道吗
在下表中,我想得到累计计数列,它是基于行业和交易状态列计算的。这样做的目的是,对每一项记录,统计同一行业以往赢得交易的数量。你知道吗
例如,该表的最后一条记录具有累计计数=3,因为之前只看到3个交易状态=win For行业=x的交易。你知道吗
Pandas' GroupBy.cumcount function对单个变量执行此操作。。。你知道吗
对于我描述的案例,我如何做到这一点?你知道吗
pd.DataFrame({'time': [1, 2, 3, 4, 5, 6, 7],
'company' : ["ciaA", "ciaB", "ciaA", "ciaC", "ciaA", "ciaD", "ciaE"],
'industry' : ["x", "y", "x", "x", "x", "y", "x"],
'deal_status' : ["won", "lost", "won", "won", "lost", "won", "lost"],
'cum_count' : [0, 0, 1, 2, 3, 0, 3]})
time company industry deal_status cum_count
1 ciaA x won 0
2 ciaB y lost 0
3 ciaA x won 1
4 ciaC x won 2
5 ciaA x lost 3
6 ciaD y won 0
7 ciaE x lost 3
创建一个helper列,您将获取其累积和。由于您的计数只包括以前的赢值,因此需要在每个组内移动:
输出
df
:相关问题 更多 >
编程相关推荐