【问题标题】:Grouping and auto incrementing group id in pandaspandas中的分组和自动递增组ID
【发布时间】:2015-05-03 15:25:01
【问题描述】:

我有 python pandas 数据框

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

Qty是累计卖出/买入的数量,当它变为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 列吗?

感谢您的宝贵时间!

【问题讨论】:

    标签: python pandas trading


    【解决方案1】:
    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()
    

    【讨论】:

    • 谢谢!那是快速和有效的!这两天我在梳理pandas文档,不到一分钟你就回答了!!!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-07
    • 2010-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多