在循环中添加列值而不使用i

2024-06-28 11:13:25 发布

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

我想从我的索引I开始,添加几个列值(理想情况下是求和的平均值)

investmentlength=list(range(1,13,1))
returns=list()
    for i in range(0,len(stocks2)):
        if stocks2['Startpoint'][i]==1:
            nextmonth=nextmonth+stocks2['RET'][i+1]+stocks2['RET'][i+2]+stocks2['RET'][i+3]+....
            counter+=1

有没有办法给出起始索引、结束索引和prob步长,然后在一个命令中求和,而不是复制粘贴到死?我想通过所有不同的投资长度,把平均回报在空名单。你知道吗

                    SHRCD  EXCHCD   SICCD     PRC     VOL       RET    SHROUT  \
DATE       PERMNO                                                               
1970-08-31 10559.0   10.0     1.0  5311.0  35.000  1692.0  0.030657   12048.0   
           12626.0   10.0     1.0  5411.0  46.250   926.0  0.088235    6624.0   
           12749.0   11.0     1.0  5331.0  45.500  5632.0  0.126173   34685.0   
           13100.0   11.0     1.0  5311.0  22.000  1759.0  0.171242   15107.0   
           13653.0   10.0     1.0  5311.0  13.125   141.0  0.220930    1337.0   
           13936.0   11.0     1.0  2331.0  11.500   270.0 -0.053061    3942.0   
           14322.0   11.0     1.0  5311.0  64.750  6934.0  0.024409  154187.0   
           16969.0   10.0     1.0  5311.0  42.875  1069.0  0.186851   13828.0   
           17072.0   10.0     1.0  5311.0  14.750   777.0  0.026087    5415.0   
           17304.0   10.0     1.0  5311.0  24.875  1939.0  0.058511    8150.0   

                             MV      XRET  IB    ...            PE2  \
DATE       PERMNO                                ...                  
1970-08-31 10559.0   421680.000  0.025357 NaN    ...      13.852692   
           12626.0   306360.000  0.082935 NaN    ...      13.145312   
           12749.0  1578167.500  0.120873 NaN    ...      25.970466   
           13100.0   332354.000  0.165942 NaN    ...       9.990711   
           13653.0    17548.125  0.215630 NaN    ...       6.273570   
           13936.0    45333.000 -0.058361 NaN    ...       6.473123   
           14322.0  9983608.250  0.019109 NaN    ...      22.204047   
           16969.0   592875.500  0.181551 NaN    ...      11.948061   
           17072.0    79871.250  0.020787 NaN    ...       8.845526   
           17304.0   202731.250  0.053211 NaN    ...       8.641655   

                       lagPE1     lagPE2        lagMV    lagSEQ  QUINTILE1  \
DATE       PERMNO                                                            
1970-08-31 10559.0  13.852692  13.852692   412644.000   264.686          4   
           12626.0  13.145312  13.145312   281520.000   164.151          4   
           12749.0  25.970466  25.970466  1404742.500   367.519          5   
           13100.0   9.990711   9.990711   288921.375   414.820          3   
           13653.0   6.273570   6.273570    14372.750    24.958          1   
           13936.0   6.473123   6.473123    48289.500    76.986          1   
           14322.0  22.204047  22.204047  9790874.500  3439.802          5   
           16969.0  11.948061  11.948061   499536.500       NaN          4   
           17072.0   8.845526   8.845526    77840.625       NaN          3   
           17304.0   8.641655   8.641655   191525.000   307.721          3   

                    QUINTILE2         avgvol     avg Startpoint  
DATE       PERMNO                                                
1970-08-31 10559.0          4    9229.057592  1697.2          0  
           12626.0          4    3654.367470   894.4          0  
           12749.0          5  188206.566860  5828.6          0  
           13100.0          3   94127.319048  3477.2          0  
           13653.0          1     816.393162   268.8          0  
           13936.0          1   71547.050633   553.2          0  
           14322.0          5  195702.521519  6308.8          0  
           16969.0          4    3670.297872  2002.0          0  
           17072.0          3    3774.083333  3867.8          0  
           17304.0          3   12622.112903  1679.4          0

Tags: date情况rangenanlistreturns平均值ret