[SciPy-user] scikits.timeseries : how would Iplot (orcalculate) monthly statistics.
Thu Mar 5 13:49:28 CST 2009
Thank you. This worked great and saved me a lot of time. I'm slowly getting the hang of this package. Sorry for the obvious question but I assume that ma.mean() etc automatically excludes masked values from the calculation.
>>> Pierre GM <email@example.com> 3/4/2009 3:46 PM >>>
On Mar 4, 2009, at 4:26 PM, Dharhas Pothina wrote:
> Original data is on an approximately two week frequency. I'll be
> reading them in as daily values and converting to monthly.
OK, you could try 'W', but 'D' is also OK.
> I eventually want to calculate plot monthly values in a particular
> year vs mean monthly values for all years (ie vs mean for each month
> irrespective of year)
Then, that's quite easy:
First, compute the means per month:
>>> mseries = series.convert('M', func=ma.mean)
You end up with a (n*12) series. Convert it to annual, but w/o
precising a function
>>> aseries = mseries.convert('A')
aseries is a (n, 12) series: years in rows, months in columns.
aseries[i,j] is the mean over month j for year i.
If you want the monthly values over all the years, just take the mean
>> If you have a monthly frequency: just use .convert('A') and compute
>> the stats for each column.
> Wouldn't this convert it to an Annual frequency, ie one value per
It does, but because you don't precise a func, you end up with a 2D
>> The generic idea is indeed to first convert to monthly. You end up
>> with a (12*n, 31) series that you have to reshape
> I get the 12*n , ie 12 months * number of years. Where does the 31
> come from. Does the series still contain the daily values after
> conversion to monthly?
I was talking about a 'D'aily series to convert to monthly, without
using a 'func' parameter. You then end up with a 2D series, with 12*n
rows and 31 columns (because there's at most 31 days per month). Note
that the last column (day 31) would be masked for Feb, Apr, Jun, Sep,
SciPy-user mailing list
More information about the SciPy-user