有条件的重新采样以获得月平均值

问题描述 投票:1回答:2

我有一个4列和大约2000行的df。

前2列是第0个月的十分位数,第12个月是十分位数,第三个是值,第四个是日期。

我想要捕获的是平均月平均值,例如,如果列1 = 1且列= 2则获得具有相同十分位数的所有股票的那个月平均值。但不幸的是我得到了空白

我的守则

for i in Labels=list(range(1,11):       
      for j in Labels=list(range(1,11):     
            dec2=dec2.loc[(dec2[decileT0]==i)&(dec2[decileT12]==j)]    
            dec2.value.resample('M', on='DATEID').mean()

数据样本

decileT0    decileT12   value        DATEID
6              6    -0.097774341    31/03/2006
4              5    -0.096971416    28/02/2006
1              2    -0.096923155    31/07/2006
6              6    -0.096895966    30/09/2007
python for-loop conditional
2个回答
1
投票

我不确定这是否是问题,但您在代码中缺少一些括号。它甚至编译?

我把括号放在下面:

for i in Labels=list(range(1,11)):       
      for j in Labels=list(range(1,11)):     
            dec2=dec2.loc[ ( dec2[decileT0] == i ) & ( dec2[decileT12] == j ) ]    
            dec2.value.resample('M', on='DATEID').mean()

0
投票

对不起victor我没有真正运行简化发布之前,范围是在一个函数所以这样的事情我运行它我得到相同的错误与完整的代码。

Labels = list(range(1,11))
for i in Labels:       
      for j in Labels:     
            dec3=dec2.loc[(dec2['decileT0']==i)&(dec2['decileT12']==j)]    
            dec3.value.resample('M', on='DATEID').mean()
© www.soinside.com 2019 - 2024. All rights reserved.