Skip to content Skip to sidebar Skip to footer

Calculating Recessions And Recoveries Of Quarters

Given this dataframe GDP quarter 0 250 2015q1 1 260 2015q1 2 250 2015q3 3 240 2015q4 4 250 2016q1 5 260 2016q2 How can I figure out what quarters are recessions and

Solution 1:

Here you need to use the Series.shift function

Since your data is not easily copypastable, I'll just create my own example data.

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
02502015q1       NaN    False           NaN    Unknown
12602015q1     250.0TrueFalse   Recovery
22502015q3     260.0FalseTrue        NaN
32402015q4     250.0FalseFalse  Recession
42502016q1     240.0TrueFalse   Recovery
52602016q2     250.0TrueTrue        NaN

Post a Comment for "Calculating Recessions And Recoveries Of Quarters"