# We just need a list of masked_arrays. It's easier to create it like that: _mask = _variables.T == missingchar _datalist = [masked_array(a, mask=m, dtype=t) for (a, m, t) in zip(_variables.T, _mask, vartypes)] # newdates = __getdates(dates=dates, newdates=newdates, length=nvars, freq=None, start_date=None) return MultiTimeSeries(_datalist, dates=newdates, dtype=mdescr) ################################################################################ if __name__ == "__main__": import numpy as N from maskedarray.testutils import assert_equal if 1: d = N.arange(5) m = MA.make_mask([1, 0, 0, 1, 1]) base_d = N.r_[d, d[::-1]].reshape(2, -1).T base_m = N.r_[[m, m[::-1]]].T base = MA.array(base_d, mask=base_m) mrec = MR.fromarrays(base.T) dlist = ["2007-%02i" % (i + 1) for i in d] dates = date_array(dlist) ts = time_series(mrec, dates) mts = MultiTimeSeries(mrec, dates) self_data = [d, m, mrec, dlist, dates, ts, mts] assert isinstance(mts.f0, TimeSeries) if 0: mts[:2] = 5 assert_equal(mts.f0._data, [5, 5, 2, 3, 4])