簡體   English   中英

AttributeError:“列表”對象沒有屬性“ dtype”

[英]AttributeError: 'list' object has no attribute 'dtype'

我在布林帶算法上遇到麻煩。 我想將此算法應用於我的時間序列數據。

編碼:

length = 1440

dataframe = pd.DataFrame(speed)

ave = pd.stats.moments.rolling_mean(speed,length)

sd = pd.stats.moments.rolling_std(speed,length=1440)

upband = ave + (sd*2)

dnband = ave - (sd*2)

print np.round(ave,3), np.round(upband,3), np.round(dnband,3)

輸入:

speed=[96.5, 97.0, 93.75, 96.0, 94.5, 95.0, 94.75, 96.0, 96.5, 97.0, 94.75, 97.5, 94.5, 96.0, 92.75, 96.5, 91.5, 97.75, 93.0, 96.5, 92.25, 95.5, 92.5, 95.5, 94.0, 96.5, 94.25, 97.75, 93.0]

“ ave”變量的結果:

[1440行x 1列] 0 0 NaN 1 NaN 2 NaN 3 NaN 4 NaN 5 NaN 6 NaN 7 NaN 8 NaN 9 NaN 10 NaN 11 NaN 12 NaN 13 NaN 14 NaN 15 NaN 16 NaN 17 NaN

第一點是,正如我在注釋中已經提到的rolling_mean需要一個DataFrame,您可以通過插入以下行來實現此目的

speed = pd.DataFrame(data=speed) 

ave = ...行之前。 但是,您也錯過了在rolling_std中定義窗口屬性的方法(請參閱: http ://pandas.pydata.org/pandas-docs/stable/generated/pandas.rolling_std.html)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM