怎样实现新建一列,该列当天的值为前一列当天的值加上该列昨天的值

我想计算SMA,即SMA(X,N,M)=(X*M+(N-M)*SMA')/N,SMA'为昨天SMA的值

我试着用df['sma'] = df['sma'].shift(1)+df['ma'],但是SMA列属于尚未创建列,会运行错误

有方法的朋友帮忙看一下,谢谢


import pandas as pd

df= pd.DataFrame({'num':['0','1','2','3','4','5','6','7','8','9','10','11','12','13','14','15'],
                  'price':['15.45','15.1','15.07','15.13','15.3','15.35','15.19','15.16','14.91','14.58','14.6','14.58','14.65','14.58','14.63','14.68']
                  })
df['ma'] = df['price'].rolling(5).mean().fillna(0)
print(df)