[Scipy-svn] r2668 - trunk/Lib/sandbox/timeseries

scipy-svn at scipy.org scipy-svn at scipy.org
Thu Feb 1 13:16:02 EST 2007


Author: pierregm
Date: 2007-02-01 12:15:59 -0600 (Thu, 01 Feb 2007)
New Revision: 2668

Modified:
   trunk/Lib/sandbox/timeseries/tdates.py
   trunk/Lib/sandbox/timeseries/tmulti.py
Log:
tmulti:fixed tmulti.__getitem__

Modified: trunk/Lib/sandbox/timeseries/tdates.py
===================================================================
--- trunk/Lib/sandbox/timeseries/tdates.py	2007-02-01 05:34:20 UTC (rev 2667)
+++ trunk/Lib/sandbox/timeseries/tdates.py	2007-02-01 18:15:59 UTC (rev 2668)
@@ -539,14 +539,15 @@
             except AttributeError:
                 pass     
         r = ndarray.__getitem__(self, indx)
+#        return r
         if not hasattr(r, "size"):
             if isinstance(r, int): 
                 return Date(self.freq, value=r)
             else: 
                 return r
-        elif r.size == 1:
+        elif r.size == 1:
             # Only one element, and it's not a scalar: we have a DateArray of size 1
-            if len(numeric.shape(r)) > 0:
+            if len(r.shape) > 0:
                 r = r.item()
             return Date(self.freq, value=r)
         else:
@@ -981,4 +982,7 @@
 if __name__ == '__main__':
     assert (Date('D','2007-01')==Date('D',string='2007-01'))
     assert (Date('D','2007-01')==Date('D', value=732677))
-    assert (Date('D',732677)==Date('D', value=732677))
\ No newline at end of file
+    assert (Date('D',732677)==Date('D', value=732677))
+    n = Date('D','2007-01')
+    tmp = date_array(n,n+3)
+    print tmp[0]
\ No newline at end of file

Modified: trunk/Lib/sandbox/timeseries/tmulti.py
===================================================================
--- trunk/Lib/sandbox/timeseries/tmulti.py	2007-02-01 05:34:20 UTC (rev 2667)
+++ trunk/Lib/sandbox/timeseries/tmulti.py	2007-02-01 18:15:59 UTC (rev 2668)
@@ -238,18 +238,20 @@
             obj._mask = make_mask(_localdict['_fieldmask'][indx])
             return obj
         # We want some elements ..
-        indx = super(MultiTimeSeries, self)._TimeSeries__checkindex(indx)
-        return MultiTimeSeries(_localdict['_series'][indx], 
-                               dates=_localdict['_dates'][indx],
+        (sindx, dindx) = super(MultiTimeSeries, self)._TimeSeries__checkindex(indx)
+        return MultiTimeSeries(_localdict['_series'][sindx], 
+                               dates=_localdict['_dates'][dindx],
 #                              mask=_localdict['_fieldmask'][indx],
                                dtype=self.dtype)
         
     def __getslice__(self, i, j):
         """Returns the slice described by [i,j]."""
         _localdict = self.__dict__
-        return MultiTimeSeries(_localdict['_data'][i:j], 
-                               mask=_localdict['_fieldmask'][i:j],
-                               dates=_localdict['_dates'][i:j],
+        (si, di) = super(MultiTimeSeries, self)._TimeSeries__checkindex(i)
+        (sj, dj) = super(MultiTimeSeries, self)._TimeSeries__checkindex(j)
+        return MultiTimeSeries(_localdict['_data'][si:sj], 
+                               mask=_localdict['_fieldmask'][si:sj],
+                               dates=_localdict['_dates'][di:dj],
                                dtype=self.dtype)      
         
     def __setslice__(self, i, j, value):
@@ -564,48 +566,17 @@
 
     
 ################################################################################
-#if 1:
-#    from tseries import aligned
-#    import maskedarray.testutils
-#    from maskedarray.testutils import *
-#    
-#    if 1:
-#        mlist = ['2005-%02i' % i for i in range(1,13)]
-#        mlist += ['2006-%02i' % i for i in range(1,13)]
-#        mdata = numpy.arange(24)
-#        mser1 = time_series(mdata, mlist, observed='SUMMED')
-#        #
-#    if 1:
-#        mlist2 = ['2004-%02i' % i for i in range(1,13)]
-#        mlist2 += ['2005-%02i' % i for i in range(1,13)]
-#        mser2 = time_series(mdata, mlist2, observed='SUMMED')
-#        #
-#        (malg1,malg2) = aligned(mser1, mser2)
-#    if 1:
-#        mrec = MR.fromarrays([mser1])
-#        descr = [('A',N.float_),('B',N.float_)]
-#
-#if 1:
-#    import numpy as N
-#    if 1:        
-##    def setup(self):       
-##        "Generic setup" 
-#        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)
-#        
-#        logmts = N.log(mts)
-#        self_data = [d, m, mrec, dlist, dates, ts, mts]
-#        #
-#        mts.addfield(masked_array(d+10, mask=m[::-1]))
-#        assert('f2' in mts.dtype.names)
-#        assert_equal(mts.f2, d+10)
-#        assert_equal(mts.f2._mask, m[::-1])
-
+if __name__ == '__main__':
+    import numpy as N
+    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]
\ No newline at end of file




More information about the Scipy-svn mailing list