2
計算數據幀的EWMA我有這樣的數據幀:通過時間
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
每一行就是在指定日期創建的平均,高,低,和qty的觀察。
我試圖計算指數移動加權平均60天的跨度:
df["emwa"] = pandas.ewma(df["avg"],span=60,freq="D")
,但我得到
TypeError: Only valid with DatetimeIndex or PeriodIndex
好吧,也許我需要一個DateTimeIndex增加我的DataFrame在構建時。讓我改變從
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有什麼建議?
僅供參考,你可能知道這一點,但ewma語法已經更新,所以答案已經過時,儘管熊貓仍然處理這個問題以及一個有用的解釋給出新語法的消息。只是以爲我會提醒你,如果你想更新,因爲它是一個有點大量的問題 – JohnE