计算季度的衰退和恢复

时间:2017-01-25 10:58:34

标签: python pandas

鉴于此数据框

   GDP quarter
0  250  2015q1
1  260  2015q1
2  250  2015q3
3  240  2015q4
4  250  2016q1
5  260  2016q2

我怎样才能弄清楚经济衰退的季度和恢复的季度?

经济衰退是指国内生产总值连续两个季度下降

回归是指国内生产总值正在下降,但现在正在上升。

1 个答案:

答案 0 :(得分:3)

在这里你需要使用Series.shift函数

由于您的数据不易复制,我只是创建自己的示例数据。

df = pd.DataFrame({"quarter":["2015q1", "2015q1", "2015q3", "2015q4", "2016q1", "2016q2"], "GDP": [250, 260, 250, 240, 250, 260]}
df['Last_GDP'] = df.GDP.shift(1)
df['Increase'] = df.GDP > df.Last_GDP
df['Last_Increase'] = df.Increase.shift(1)
df.ix[(~df.Last_Increase.fillna(False) & ~df.Increase), 'Re-x'] = "Recession"
df.ix[(~df.Last_Increase.fillna(False) & df.Increase), 'Re-x'] = "Recovery"
df.ix[df.Last_Increase.isnull(), 'Re-x'] = "Unknown"

   GDP quarter  Last_GDP Increase Last_Increase       Re-x
0  250  2015q1       NaN    False           NaN    Unknown
1  260  2015q1     250.0     True         False   Recovery
2  250  2015q3     260.0    False          True        NaN
3  240  2015q4     250.0    False         False  Recession
4  250  2016q1     240.0     True         False   Recovery
5  260  2016q2     250.0     True          True        NaN