@@ -613,22 +613,24 @@ def test_resample_agg_readonly():
613
613
tm .assert_series_equal (result , expected )
614
614
615
615
616
- def test_backward_resample ():
617
- # GH#37804
616
+ # test data for backward resample GH#37804
617
+ start , end = "2000-10-01 23:30:00" , "2000-10-02 00:26:00"
618
+ rng = date_range (start , end , freq = "7min" )
619
+ ts = Series (np .arange (len (rng )) * 3 , index = rng )
618
620
619
- start , end = "2000-10-01 23:30:00" , "2000-10-02 00:26:00"
620
- rng = date_range (start , end , freq = "7min" )
621
- ts = Series (np .arange (len (rng )) * 3 , index = rng )
622
621
623
- # test consistency of backward and origin
622
+ def test_backward_origin_consistency ():
623
+
624
624
msg = "`start` or `start_day` origin isn't allowed when `backward` is True"
625
625
with pytest .raises (ValueError , match = msg ):
626
626
ts .resample ("1min" , origin = "start" , backward = True )
627
627
msg = "`end` or `end_day` origin isn't allowed when `backward` is False"
628
628
with pytest .raises (ValueError , match = msg ):
629
629
ts .resample ("1min" , origin = "end" , backward = False )
630
630
631
- # test end origin
631
+
632
+ def test_end_origin ():
633
+
632
634
res = ts .resample ("17min" , origin = "end" ).sum ().astype ("int64" )
633
635
data = [0 , 18 , 27 , 63 ]
634
636
expected = Series (
@@ -642,7 +644,21 @@ def test_backward_resample():
642
644
643
645
tm .assert_series_equal (res , expected )
644
646
645
- # test end_day origin
647
+ # an extra test case
648
+ idx = date_range ("20200101 8:26:35" , "20200101 9:31:58" , freq = "77s" )
649
+ data = np .ones (len (idx ))
650
+ s = Series (data , index = idx )
651
+ result = s .resample ("7min" , origin = "end" , closed = "right" ).sum ()
652
+
653
+ exp_idx = date_range ("2020-01-01 08:27:45" , "2020-01-01 09:30:45" , freq = "7T" )
654
+ exp_data = [1.0 , 6.0 , 5.0 , 6.0 , 5.0 , 6.0 , 5.0 , 6.0 , 5.0 , 6.0 ]
655
+ expected = Series (exp_data , index = exp_idx )
656
+
657
+ tm .assert_series_equal (result , expected )
658
+
659
+
660
+ def test_end_day_origin ():
661
+
646
662
# 12 == 24 * 60 - 84 * 17 <= 26 (last value) <= 24 * 60 - 83 * 17 == 29
647
663
res = ts .resample ("17min" , origin = "end_day" ).sum ().astype ("int64" )
648
664
data = [3 , 15 , 45 , 45 ]
@@ -657,7 +673,9 @@ def test_backward_resample():
657
673
658
674
tm .assert_series_equal (res , expected )
659
675
660
- # test datetime origin with backward resample
676
+
677
+ def test_backward_resample_with_datetime_origin ():
678
+
661
679
res = (
662
680
ts .resample (
663
681
"17min" ,
@@ -700,7 +718,9 @@ def test_backward_resample():
700
718
701
719
tm .assert_series_equal (res , expected )
702
720
703
- # test right and left close
721
+
722
+ def test_left_and_right_close_in_backward_resample ():
723
+
704
724
res = (
705
725
ts .resample (
706
726
"17min" ,
@@ -742,15 +762,3 @@ def test_backward_resample():
742
762
)
743
763
744
764
tm .assert_series_equal (res , expected )
745
-
746
- # original test case
747
- idx = date_range ("20200101 8:26:35" , "20200101 9:31:58" , freq = "77s" )
748
- data = np .ones (len (idx ))
749
- s = Series (data , index = idx )
750
- result = s .resample ("7min" , origin = "end" , closed = "right" ).sum ()
751
-
752
- exp_idx = date_range ("2020-01-01 08:27:45" , "2020-01-01 09:30:45" , freq = "7T" )
753
- exp_data = [1.0 , 6.0 , 5.0 , 6.0 , 5.0 , 6.0 , 5.0 , 6.0 , 5.0 , 6.0 ]
754
- expected = Series (exp_data , index = exp_idx )
755
-
756
- tm .assert_series_equal (result , expected )
0 commit comments