[SciPy-User] scikits.timeseries question
Pierre GM
pgmdevlist at gmail.com
Mon Nov 30 19:49:35 EST 2009
On Nov 30, 2009, at 7:23 PM, Christopher Barker wrote:
> Pierre GM wrote:
> ...
>
>> * a sequence of integers corresponding to the representation of
>> :class:`Date` objects.
>
> That's what I'm trying to give it.
Ah OK. Well, the answer is: that depends. iIf you know that your dates are just in daily increments from 2001-01-01 (like a range), then just use start_date and length.
If you may have several duplicated dates (like 2001-01-01, 2001-01-02, 2001-01-02, 2001-01-03...), then the easiest is probably:
>>> da = ts.date_array(np.array(0,1,1,2)+sd)
np.array(...) + sd gives you a ndarray of Date objects (so its dtype is np.object), and you use that as the input of date_array. The frequency should be recognized properly.
Note that if 1 in your data set means '2001-01-01', then use (sd-1) instead, but you would have guessed that.
> While I'm at it -- what I really have is a big 'ol 3-d array, which is
> gridded model output, of shape: (time, lat, lon). Time is expressed in
> days since...
>
> I need to do a moving average of the while grid over time. Can a
> time_serie be n-d, with time as one of the axis?
Well, I never tried so I can tell you. Check wheter lib.moving_funcs supports 2D data. If not, not a big deal: just fill the missing dates (so that you have a regular-spaced series with masked elements for missing dates), and use whatever moving average you need on the .series attribute (which is just a MaskedArray). Or fill this .series with np.nans if your averaging function accepts floats but no missing values...
Let me know how it goes
P.
More information about the SciPy-User
mailing list