私はこのデータフレームを持っています:
avg date high low qty
0 16.92 2013-05-27 00:00:00 19.00 1.22 71151.00
1 14.84 2013-05-30 00:00:00 19.00 1.22 42939.00
2 9.19 2013-06-02 00:00:00 17.20 1.23 5607.00
3 23.63 2013-06-05 00:00:00 5000.00 1.22 5850.00
4 13.82 2013-06-10 00:00:00 19.36 1.22 5644.00
5 17.76 2013-06-15 00:00:00 24.00 2.02 16969.00
各行は、指定された日付に作成された平均、最高、最低、および数量の観察です。
60 日間の指数移動加重平均を計算しようとしています。
df["emwa"] = pandas.ewma(df["avg"],span=60,freq="D")
しかし、私は得る
TypeError: Only valid with DatetimeIndex or PeriodIndex
わかりましたので、構築時に DataFrame に DateTimeIndex を追加する必要があるかもしれません。コンストラクター呼び出しを次のように変更させてください
df = pandas.DataFrame(records) #records is just a list of dictionaries
に
rng = pandas.date_range(firstDate,lastDate, freq='D')
df = pandas.DataFrame(records,index=rng)
しかし今、私は得る
ValueError: Shape of passed values is (5,), indices imply (5, 1641601)
EMWA の計算方法に関する提案はありますか?