gpt4 book ai didi

python - 在 Pandas 的多级索引上使用 cumsum 方法

转载 作者:太空宇宙 更新时间:2023-11-04 04:46:49 24 4
gpt4 key购买 nike

我有以下多级数据框(部分)

                    Px_last FINAL   RETURN  Stock_RES   WANTED 
Stock Date
ALKM 10/27/2016 0.0013 1 -53.85 NaN -53.85
1/17/2017 0.0009 1 111.11 NaN 57.26
1/18/2017 0.0012 1 233.33 NaN 290.60
1/23/2018 0.0012 1 16.67 NaN 307.26
1/30/2018 0.0019 1 -42.11 NaN 265.16
ANDI 12/28/2017 0.0017 1 370.59 NaN 370.59
2/14/2018 0.0324 1 20.00 NaN 390.59
APPZ 9/22/2017 0.0002 1 -50.00 NaN -50.00
12/5/2017 0.0001 1 -100.00 NaN -150.00
12/6/2017 0.0001 1 0.00 NaN -150.00

我可以用下面的代码对整个数据框做一个累加和

df3['TTL_SUM'] = df3['RETURN'].cumsum()

但我想要做的是每只股票的累计总和,但是当我执行以下操作时,我得到一列 NaN。有谁知道我在这里做错了什么?查看上面的数据框

df3['Stock_RES'] = df3.groupby(level=0)['RETURN'].sum()

当我将它分配给一个变量时它似乎确实有效,但最终我想在数据框中获取它

RESULTS = df3.groupby(level=0)['RETURN'].sum()

谁能帮帮我。对我来说似乎是相同的代码,所以不确定为什么它不会直接添加到数据框中。

最佳答案

您在 groupby 上下文中使用了 sum 而不是 cumsum

df.assign(WANTED1=df.groupby('Stock').RETURN.cumsum())

Px_last FINAL RETURN Stock_RES WANTED WANTED1
Stock Date
ALKM 10/27/2016 0.0013 1 -53.85 NaN -53.85 -53.85
1/17/2017 0.0009 1 111.11 NaN 57.26 57.26
1/18/2017 0.0012 1 233.33 NaN 290.60 290.59
1/23/2018 0.0012 1 16.67 NaN 307.26 307.26
1/30/2018 0.0019 1 -42.11 NaN 265.16 265.15
ANDI 12/28/2017 0.0017 1 370.59 NaN 370.59 370.59
2/14/2018 0.0324 1 20.00 NaN 390.59 390.59
APPZ 9/22/2017 0.0002 1 -50.00 NaN -50.00 -50.00
12/5/2017 0.0001 1 -100.00 NaN -150.00 -150.00
12/6/2017 0.0001 1 0.00 NaN -150.00 -150.00

关于python - 在 Pandas 的多级索引上使用 cumsum 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49394700/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com