# Calculate annualized returns and annualized volatility from monthly returns?

I have a dataset with monthly returns (In decimals)

Jan-2008, Feb-2008 .... Dec-2008, Jan-2009 .... Dec-2017

This is what I have done,

# Formula (((1+r1/100) * (1+r2/100) .. ) ^ 1/n ) - 1

df["Rate of Return"] = df["Rate of Return"].apply(lambda x: 1+(x/100))
ann_return = pow(df["Rate of Return"].product(), df.shape[0]) - 1


This doesn't yield a correct answer though.
I'm just confused on how to produce a single number for Annualized Return.
I have the same question for calculation on annualized volatility.
Can anyone point out the correct method when you have monthly data over multiple years?

P.S. I'm new here, please point out if there is anything wrong with the way this was asked.

ann_return = df["Rate of Return"].mean()*12