2017-02-21 48 views
0

我有以下数据框:如何找到正确的一年中这个数据帧

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

经济衰退的定义是国内生产总值下降连续两个季度开始,与GDP增速连续两个季度结束。

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

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

回答

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 
+0

这解决了我的问题。我尝试使用这种方法找到结束年份,但它一直在回馈“关键错误:1” –

+0

如果GDP增加,您可以添加一个可以检查的条件。 –

相关问题