def test_onregulararray(self): data = self.data for width in [3,5,7]: k = (width-1)/2 ravg = MF.cmov_average(data,width) assert(isinstance(ravg, MaskedArray)) assert_equal(ravg, data) assert_equal(ravg._mask, [1]*k+[0]*(len(data)-2*k)+[1]*k)
def test_onmaskedarray(self): data = self.maskeddata for width in [3,5,7]: k = (width-1)/2 ravg = MF.cmov_average(data,width) assert(isinstance(ravg, MaskedArray)) assert_equal(ravg, data) m = N.zeros(len(data), N.bool_) m[:k] = m[-k:] = m[10-k:10+k+1] = True assert_equal(ravg._mask, m)
def test_ontimeseries(self): data = time_series(self.maskeddata, start_date=thisday('D')) for width in [3,5,7]: k = (width-1)/2 ravg = MF.cmov_average(data,width) assert(isinstance(ravg, MaskedArray)) assert_equal(ravg, data) m = N.zeros(len(data), N.bool_) m[:k] = m[-k:] = m[10-k:10+k+1] = True assert_equal(ravg._mask, m) assert_equal(ravg._dates, data._dates)
def tests_onmultitimeseries(self): maskeddata = MaskedArray(N.random.random(75).reshape(25,3)) maskeddata[10] = masked data = time_series(maskeddata, start_date=thisday('D')) for width in [3,5,7]: k = (width-1)/2 ravg = MF.cmov_average(data,width) assert(isinstance(ravg, MaskedArray)) assert_almost_equal(ravg[18].squeeze(), data[18-k:18+k+1].mean(0)) m = N.zeros(data.shape, N.bool_) m[:k] = m[-k:] = m[10-k:10+k+1] = True assert_equal(ravg._mask, m) assert_equal(ravg._dates, data._dates)