@@ -552,28 +552,27 @@ def test_fill_value_corner(self):
552
552
self .assert_ (np .isnan (result .fill_value ))
553
553
554
554
def test_shift (self ):
555
- def _dense_compare (s , f ):
556
- result = f (s )
557
- self .assert_ (isinstance (result , SparseSeries ))
558
- dense_result = f (s .to_dense ())
559
- assert_series_equal (result .to_dense (), dense_result )
560
-
561
555
series = SparseSeries ([nan , 1. , 2. , 3. , nan , nan ],
562
556
index = np .arange (6 ))
563
557
558
+ shifted = series .shift (0 )
559
+ self .assert_ (shifted is not series )
560
+ assert_sp_series_equal (shifted , series )
561
+
564
562
f = lambda s : s .shift (1 )
565
- _dense_compare (series , f )
563
+ _dense_series_compare (series , f )
566
564
567
565
f = lambda s : s .shift (- 2 )
568
- _dense_compare (series , f )
566
+ _dense_series_compare (series , f )
569
567
570
568
series = SparseSeries ([nan , 1. , 2. , 3. , nan , nan ],
571
569
index = DateRange ('1/1/2000' , periods = 6 ))
572
570
f = lambda s : s .shift (2 , timeRule = 'WEEKDAY' )
573
- _dense_compare (series , f )
571
+ _dense_series_compare (series , f )
574
572
575
573
f = lambda s : s .shift (2 , offset = datetools .bday )
576
- _dense_compare (series , f )
574
+ _dense_series_compare (series , f )
575
+
577
576
578
577
class TestSparseTimeSeries (TestCase ):
579
578
pass
@@ -880,12 +879,48 @@ def _check(frame):
880
879
assert_sp_frame_equal (frame , untransposed )
881
880
self ._check_all (_check )
882
881
882
+ def test_shift (self ):
883
+ def _check (frame ):
884
+ shifted = frame .shift (0 )
885
+ self .assert_ (shifted is not frame )
886
+ assert_sp_frame_equal (shifted , frame )
887
+
888
+ f = lambda s : s .shift (1 )
889
+ _dense_frame_compare (frame , f )
890
+
891
+ f = lambda s : s .shift (- 2 )
892
+ _dense_frame_compare (frame , f )
893
+
894
+ f = lambda s : s .shift (2 , timeRule = 'WEEKDAY' )
895
+ _dense_frame_compare (frame , f )
896
+
897
+ f = lambda s : s .shift (2 , offset = datetools .bday )
898
+ _dense_frame_compare (frame , f )
899
+
900
+ self ._check_all (_check )
901
+
902
+ def test_count (self ):
903
+ result = self .frame .count ()
904
+ dense_result = self .frame .to_dense ().count ()
905
+ assert_series_equal (result , dense_result )
906
+
883
907
def _check_all (self , check_func ):
884
908
check_func (self .frame )
885
909
check_func (self .iframe )
886
910
check_func (self .zframe )
887
911
check_func (self .fill_frame )
888
912
913
+ def _dense_series_compare (s , f ):
914
+ result = f (s )
915
+ assert (isinstance (result , SparseSeries ))
916
+ dense_result = f (s .to_dense ())
917
+ assert_series_equal (result .to_dense (), dense_result )
918
+
919
+ def _dense_frame_compare (frame , f ):
920
+ result = f (frame )
921
+ assert (isinstance (frame , SparseDataFrame ))
922
+ dense_result = f (frame .to_dense ())
923
+ assert_frame_equal (result .to_dense (), dense_result )
889
924
890
925
def panel_data1 ():
891
926
index = DateRange ('1/1/2011' , periods = 8 )
0 commit comments