【发布时间】:2020-06-17 00:59:00
【问题描述】:
我试图在 pandas 的 groupby 中获得累积和和计数,但前提是但仅限于连续行值。如果值不连续,我想累计和计数重置。
这些组按“ID”和“STATUS”排列,“DAYS”是求和的值。
我当前的数据集如下所示:
ID DAYS STATUS
MXD 31 Est
MXD 11 Est
MXD 29 RDDS
MXD 31 Est
------------------
NOA 28 Est
NOA 34 RDDS
NOA 27 Est
NOA 27 Est
------------------
TNT 34 RDDS
TNT 27 RDDS
TNT 27 Est
TNT 27 RDDS
我想要的数据集如下所示:
ID DAYS STATUS CONSECT_ONLY_SUM CONSECT_ONLY_COUNT
MXD 31 Est 31 1
MXD 11 Est 42 2
MXD 29 RDDS 29 1 - accumulative sum and count reset on new non-consect row
MXD 31 Est 31 1
-------------------
NOA 28 Est 28 1
NOA 34 RDDS 34 1
NOA 27 Est 27 1 - accumulative sum and count starts on consect "STATUS" rows
NOA 27 Est 54 2
-------------------
TNT 34 RDDS 34 1
TNT 27 RDDS 61 2
TNT 27 Est 27 1 - accumulative sum and count reset on new non-consect row
TNT 27 RDDS 27 1
对此的任何帮助将不胜感激。
【问题讨论】:
标签: python pandas pandas-groupby cumsum