pandas 中的分组和自动递增组 ID

Grouping and auto incrementing group id in pandas

我有pythonpandas数据框

trades = pd.DataFrame({"Qty":[-25,0,25,50,75,0,25,0,-25,0,-25,-50,0,-25,50,0]})
print trades
    Qty
0   -25
1     0
2    25
3    50
4    75
5     0
6    25
7     0
8   -25
9     0
10  -25
11  -50
12    0
13  -25
14   50
15    0

数量为累计数量sold/bought,到0时平仓

我想分配组 ID,以便我可以从下达的订单中提取已执行的交易。

    Qty     Trade_Group
0   -25     1
1     0     1
2    25     2
3    50     2
4    75     2
5     0     2
6    25     3
7     0     3
8   -25     4
9     0     4
10  -25     5
11  -50     5
12    0     5
13  -25     6
14   50     6
15    0     6

如果不明确遍历行并分配 Trade_Group 值,如何 我可以构建 Trade_group 列吗?

感谢抽空!

trades = pd.DataFrame({"Qty":[-25,0,25,50,75,0,25,0,-25,0,-25,-50,0,-25,50,0]})
trades["group"] = (trades.Qty == 0).shift(1).fillna(0).cumsum()