熊猫分组与多个组相同的值

我有以下数据框,我需要将其分为三组(两组,数量 = 0),同时返回每组的最小/最大周期。

    period  quantity
0        1         0
1        2         0
2        3         0
3        4         0
4        5         0
5        6         0
6        7         0
7        8        10
8        9        10
9       10        10
10      11        10
11      12        10
12      13        10
13      14        10
14      15        10
15      16        10
16      17         0
17      18         0
18      19         0
19      20         0
20      21         0
21      22         0
22      23         0
23      24         0

我需要的是:

    quantity    min   max
0          0      1     7
1         10      8    16
2          0     17    24

我可以尝试什么?

回答

这是基于此答案的一种解决方案。

(
df.groupby([df["quantity"].diff().ne(0).cumsum(), df["quantity"]])["period"]
.aggregate(["min", "max"])
.droplevel(0)
.reset_index()
)

回来

   quantity  min  max
0         0    1    7
1        10    8   16
2         0   17   24

以上是熊猫分组与多个组相同的值的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>