maxhamax 發表於 16-5-18 18:12

關於部份資料不讀入之語法請教

大家好

小弟今日主要問題是 小弟有一時間序列資料

這時間序列 會隨著時間越來越多

資料大概就是有 大於0,小於0 還有等於0

小弟想計算這個值的平均數 但我又不想計算屬於0的

所以我原本作法是

假設我的時間序列資料是 dear(0),sdear(0);

平均數是mdear(0);

所以我寫法是

if dear<>0 thensdear=dear;

然後 mdear=average(sdear,period)

但把相關資料print出來時

會發現因為某些區間 dear=0 所以 而sdear沒有新的值出現

所以他會有某些地方是出現一樣的值

比如



63.8765.0264.33
63.8765.0264.33
63.8765.0264.33
63.8765.0264.33
63.8765.0264.33
63.8765.0264.33
63.8765.0264.33
63.8765.0264.33
63.8765.0264.33
63.8765.0264.33
63.8765.0264.33
63.8765.0264.33
104.2892.1655.78
104.2892.1655.78
104.2892.1655.78
104.2892.1655.78
104.2892.1655.78
104.2892.1655.78
104.2892.1655.78
104.2892.1655.78
102.80 105.02 103.69
102.80 105.02 103.69
102.80 105.02 103.69
102.80 105.02 103.69
102.80 105.02 103.69

我原本是要抓 (63.87+104.28+102.80)/3

所以有語法可以 只抓

63.87   104.28   102.80

只要是一樣的我都忽略等待嗎?

謝謝

Max

pcking2008 發表於 16-5-18 20:28

你如果去追 average 程式碼, 他是用 for loop 方式去得總數, 再除次數
其中 每次的數字 是用 時間序列去得到

既然如此, 你也可以自己寫一個不確定次數的 for loop 或 while
跳過 data=0 , 等到次數到就可以離開

maxhamax 發表於 16-5-20 17:14

謝謝pcking2008哥的指點

小弟正研究中謝謝
頁: [1]
查看完整版本: 關於部份資料不讀入之語法請教