累积和法在大Pandas多层次指数分析中的应用

2024-04-25 00:33:29 发布

您现在位置:Python中文网/ 问答频道 /正文

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

                    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

我可以用下面的代码对整个数据帧进行累计求和

^{pr2}$

但是我想做的是每只股票的累计和,但是当我做下面的事情时,我得到了一列NaN。有人知道我做错了什么吗?参见上面的数据帧

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

当我把它赋给一个变量时,它似乎确实起作用了,但最终我想把它放到数据帧中

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

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


Tags: 数据代码datereturnstockresnanlevel
1条回答
网友
1楼 · 发布于 2024-04-25 00:33:29

您在groupby上下文中使用了sum,而不是{}。在

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

相关问题 更多 >