I basically want to apply this formula: ((New/Old)^4 - 1) * 100. To a data frame I have and create a new column called "Annualized Growth Rate" I have been working off of the FRED GDP data set.
I have a data set that looks something like this (not the real numbers)
| Index | GDP |
|---|---|
| 0 | 100 |
| 1 | 101 |
| 2 | 103 |
| 3 | 107 |
I want to add a column on the right that applies the formula I mentioned above so that the annualized growth rate numbers would start appearing in the index = 1 position
| Index | GDP | Annualized_Growth_Rate |
|---|---|---|
| 0 | 100 | NaN |
| 1 | 101 | 4.060 |
| 2 | 103 | 8.159 |
| 3 | 107 | 16.462 |
How can I go about doing this. I was originally trying to do it using iterrows() Something like
for index,row in iterrows():
df['Annualized Growth Rate'] = df['GDP'].loc[index] / df.['GDP'].loc[index - 1]...
but then index position -1 is out of range.
I'm assuming there is an easy way to go about this that I just don't know. I also know you aren't really supposed to use something like iterrows.