[Scipy-svn] r3326 - trunk/scipy/sandbox/timeseries

scipy-svn at scipy.org scipy-svn at scipy.org
Tue Sep 18 19:22:36 EDT 2007


Author: mattknox_ca
Date: 2007-09-18 18:22:21 -0500 (Tue, 18 Sep 2007)
New Revision: 3326

Removed:
   trunk/scipy/sandbox/timeseries/tcore.py
Modified:
   trunk/scipy/sandbox/timeseries/__init__.py
   trunk/scipy/sandbox/timeseries/tdates.py
   trunk/scipy/sandbox/timeseries/tseries.py
Log:
removed tcore.py and moved its functions into the areas where they are actually used

Modified: trunk/scipy/sandbox/timeseries/__init__.py
===================================================================
--- trunk/scipy/sandbox/timeseries/__init__.py	2007-09-18 20:49:42 UTC (rev 3325)
+++ trunk/scipy/sandbox/timeseries/__init__.py	2007-09-18 23:22:21 UTC (rev 3326)
@@ -1,19 +1,5 @@
 """TimeSeries
-
-
-__author__ = "Pierre GF Gerard-Marchant  & Matt Knox ($Author$)"
-__version__ = '1.0'
-__revision__ = "$Revision$"
-__date__     = '$Date$'
 
-import tcore
-from tcore import *
-import tdates
-from tdates import *
-import tseries
-from tseries import *
-import tmulti
-from tmulti import *
 :author: Pierre GF Gerard-Marchant & Matt Knox
 :contact: pierregm_at_uga_dot_edu - mattknox_ca_at_hotmail_dot_com
 :version: $Id$
@@ -25,9 +11,6 @@
 __revision__ = "$Revision$"
 __date__     = '$Date$'
 
-# initialize python callbacks for C code
-import tcore
-from tcore import *
 import const
 import tdates
 from tdates import *

Deleted: trunk/scipy/sandbox/timeseries/tcore.py
===================================================================
--- trunk/scipy/sandbox/timeseries/tcore.py	2007-09-18 20:49:42 UTC (rev 3325)
+++ trunk/scipy/sandbox/timeseries/tcore.py	2007-09-18 23:22:21 UTC (rev 3326)
@@ -1,58 +0,0 @@
-"""
-A collection of tools for timeseries
-
-:author: Pierre GF Gerard-Marchant & Matt Knox
-:contact: pierregm_at_uga_dot_edu - mattknox_ca_at_hotmail_dot_com
-:version: $Id$
-"""
-__author__ = "Pierre GF Gerard-Marchant & Matt Knox ($Author$)"
-__version__ = '1.0'
-__revision__ = "$Revision$"
-__date__     = '$Date$'
-
-import numpy
-import numpy.core.numeric as numeric
-
-import maskedarray as MA
-
-#####---------------------------------------------------------------------------
-#---- --- Generic functions ---
-#####---------------------------------------------------------------------------
-def first_unmasked_val(a):
-    "Returns the first unmasked value in a 1d maskedarray."
-    (i,j) = MA.extras.flatnotmasked_edges(a)
-    return a[i]
-
-def last_unmasked_val(a):
-    "Returns the last unmasked value in a 1d maskedarray."
-    (i,j) = MA.extras.flatnotmasked_edges(a)
-    return a[j]
-
-def reverse_dict(d):
-    "Reverses the keys and values of a dictionary."
-    alt = []
-    tmp = [alt.extend([(w,k) for w in v]) for (k,v) in d.iteritems()]
-    return dict(alt)
-
-
-
-#####---------------------------------------------------------------------------
-#---- --- Misc functions ---
-#####---------------------------------------------------------------------------
-#http://aspn.activestate.com/ASPN/Mail/Message/python-tutor/2302348
-def flatten_sequence(iterable):
-    """Flattens a compound of nested iterables."""
-    itm = iter(iterable)
-    for elm in itm:
-        if hasattr(elm,'__iter__') and not isinstance(elm, basestring):
-            for f in flatten_sequence(elm):
-                yield f
-        else:
-            yield elm
-
-def flatargs(*args):
-    "Flattens the arguments."
-    if not hasattr(args, '__iter__'):
-        return args
-    else:
-        return flatten_sequence(args)

Modified: trunk/scipy/sandbox/timeseries/tdates.py
===================================================================
--- trunk/scipy/sandbox/timeseries/tdates.py	2007-09-18 20:49:42 UTC (rev 3325)
+++ trunk/scipy/sandbox/timeseries/tdates.py	2007-09-18 23:22:21 UTC (rev 3326)
@@ -29,10 +29,10 @@
 
 from parser import DateFromString, DateTimeFromString
 
-import tcore as corelib
 import const as _c
 import cseries
 
+# initialize python callbacks for C code
 cseries.set_callback_DateFromString(DateFromString)
 cseries.set_callback_DateTimeFromString(DateTimeFromString)
 
@@ -396,9 +396,28 @@
     #......................................................
     def find_dates(self, *dates):
         "Returns the indices corresponding to given dates, as an array."
+
+        #http://aspn.activestate.com/ASPN/Mail/Message/python-tutor/2302348
+        def flatten_sequence(iterable):
+            """Flattens a compound of nested iterables."""
+            itm = iter(iterable)
+            for elm in itm:
+                if hasattr(elm,'__iter__') and not isinstance(elm, basestring):
+                    for f in flatten_sequence(elm):
+                        yield f
+                else:
+                    yield elm
+
+        def flatargs(*args):
+            "Flattens the arguments."
+            if not hasattr(args, '__iter__'):
+                return args
+            else:
+                return flatten_sequence(args)
+
         ifreq = self.freq
         c = numpy.zeros(self.shape, bool_)
-        for d in corelib.flatargs(*dates):
+        for d in flatargs(*dates):
             if d.freq != ifreq:
                 d = d.asfreq(ifreq)
             c += (self == d.value)
@@ -685,37 +704,6 @@
 if __name__ == '__main__':
     import maskedarray.testutils
     from maskedarray.testutils import assert_equal
-#    if 0:
-#        dlist = ['2007-%02i' % i for i in range(1,5)+range(7,13)]
-#        mdates = date_array_fromlist(dlist, 'M')
-#        # Using an integer
-#        assert_equal(mdates[0].value, 24073)
-#        assert_equal(mdates[-1].value, 24084)
-#        # Using a date
-#        lag = mdates.find_dates(mdates[0])
-#        print mdates[lag]
-#        assert_equal(mdates[lag], mdates[0])
-#    if 0:
-#        hodie = today('D')
-#        D = DateArray(today('D'))
-#        assert_equal(D.freq, 6000)
-#    if 0:
-#        freqs = [x[0] for x in corelib.freq_dict.values() if x[0] != 'U']
-#        print freqs
-#        for f in freqs:
-#            print f
-#            today = thisday(f)
-#            assert(Date(freq=f, value=today.value) == today)
-#    if 0:
-#        D = date_array(freq='U', start_date=Date('U',1), length=10)
-#    if 0:
-#        dlist = ['2007-01-%02i' % i for i in (1,2,4,5,7,8,10,11,13)]
-#        ords = numpy.fromiter((DateTimeFromString(s).toordinal() for s in dlist),
-#                               float_)
-#    if 0:
-#        "Tests the automatic sorting of dates."
-#        D = date_array_fromlist(dlist=['2006-01','2005-01','2004-01'],freq='M')
-#        assert_equal(D.view(ndarray), [24037, 24049, 24061])
 
     if 1:
         dlist = ['2007-%02i' % i for i in range(1,5)+range(7,13)]

Modified: trunk/scipy/sandbox/timeseries/tseries.py
===================================================================
--- trunk/scipy/sandbox/timeseries/tseries.py	2007-09-18 20:49:42 UTC (rev 3325)
+++ trunk/scipy/sandbox/timeseries/tseries.py	2007-09-18 23:22:21 UTC (rev 3326)
@@ -31,7 +31,6 @@
     filled, getmask, getmaskarray, hsplit, make_mask_none, mask_or, make_mask, \
     masked_array
 
-import tcore as corelib
 import const as _c
 
 import tdates
@@ -54,6 +53,7 @@
 'day_of_week','day_of_year','day','month','quarter','year',
 'hour','minute','second',
 'tofile','asrecords','flatten', 'check_observed',
+'first_unmasked_val', 'last_unmasked_val'
            ]
 
 
@@ -68,9 +68,19 @@
                'MAXIMUM': ['MAX','MAXIMUM','HIGH'],
                'MINIMUM': ['MIN','MINIMUM','LOW']}
 
+def first_unmasked_val(a):
+    "Returns the first unmasked value in a 1d maskedarray."
+    (i,j) = MA.extras.flatnotmasked_edges(a)
+    return a[i]
+
+def last_unmasked_val(a):
+    "Returns the last unmasked value in a 1d maskedarray."
+    (i,j) = MA.extras.flatnotmasked_edges(a)
+    return a[j]
+
 obs_dict = {"UNDEFINED":None,
-            "BEGINNING": corelib.first_unmasked_val,
-            "ENDING": corelib.last_unmasked_val,
+            "BEGINNING": first_unmasked_val,
+            "ENDING": last_unmasked_val,
             "AVERAGED": MA.average,
             "SUMMED": MA.sum,
             "MAXIMUM": MA.maximum,
@@ -82,8 +92,15 @@
     for al in aliases:
         alias_obs_dict[al] = obs_dict[ob]
 obs_dict.update(alias_obs_dict)
-fmtobs_revdict = corelib.reverse_dict(fmtobs_dict)
 
+def _reverse_dict(d):
+    "Reverses the keys and values of a dictionary."
+    alt = []
+    tmp = [alt.extend([(w,k) for w in v]) for (k,v) in d.iteritems()]
+    return dict(alt)
+
+fmtobs_revdict = _reverse_dict(fmtobs_dict)
+
 def fmtObserv(obStr):
     "Converts a possible 'Observed' string into acceptable values."
     if obStr is None:




More information about the Scipy-svn mailing list