如何在此DataFrame中找到正确的年份

时间:2017-02-21 05:31:15

标签: python pandas

我有以下DataFrame:

#df
timeperiod GDP
2000q1     20
2000q2     19
2000q3     18
2000q4     17
2001q1     16
2001q2     17
2001q3     18
2001q4     19

经济衰退被定义为从连续两个季度的GDP下降开始,并以GDP连续两个季度的增长结束。

英语是我的第二语言......所以让我困惑的第一件事就是在我的小例子中,2000q3是经济衰退的开始吗?或者应该从2000q4开始?

回到代码问题,我试图用一个循环来找到经济衰退的开始年份,但我失败了。

1 个答案:

答案 0 :(得分:0)

import pandas as pd

#Data Creation
timePeriod = ['2000q1','2000q2','2000q3','2000q4','2001q1','2001q2','2001q3','2001q4']
GDP = [20,19,18,17,16,17,18,19]
data = zip(timePeriod,GDP)
data = pd.DataFrame(data,columns=['timePeriod','GDP'])
print(data)

#Track beginning of recession
counter = 0
for i in range(len(data)):
    if(counter!=2):
        if(data['GDP'][i]> data['GDP'][i+1]):
            counter= counter+1
    else:
        print('Recession Started:'+data['timePeriod'][i])
        break

添加第二个条件后:

counter = 0
for i in range(len(data)):
     if(counter!=2):
         if(data['GDP'][i]> data['GDP'][i+1]):
             counter= counter+1
     elif(counter==2):    
         print('Recession Started:'+data['timePeriod'][i])    
         if(data['GDP'][i]< data['GDP'][i+1]):  
             print("Recession Ended:"+data['timePeriod'][i])   
             break