2017-02-21 45 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增加,您可以添加一個可以檢查的條件。 –

相關問題