@@ -773,8 +773,18 @@ def test_resample_empty_series(self):
773
773
expected = s .copy ()
774
774
expected .index = s .index ._shallow_copy (freq = freq )
775
775
assert_index_equal (result .index , expected .index )
776
- assert result .index .freq == expected .index .freq
777
- assert_series_equal (result , expected , check_dtype = False )
776
+
777
+ self .assertEqual (result .index .freq , expected .index .freq )
778
+
779
+ if (method == 'size' and
780
+ isinstance (result .index , PeriodIndex ) and
781
+ freq in ['M' , 'D' ]):
782
+ # GH12871 - TODO: name should propagate, but currently
783
+ # doesn't on lower / same frequency with PeriodIndex
784
+ assert_series_equal (result , expected , check_dtype = False )
785
+
786
+ else :
787
+ assert_series_equal (result , expected , check_dtype = False )
778
788
779
789
def test_resample_empty_dataframe (self ):
780
790
# GH13212
@@ -783,11 +793,11 @@ def test_resample_empty_dataframe(self):
783
793
784
794
for freq in ['M' , 'D' , 'H' ]:
785
795
# count retains dimensions too
786
- methods = downsample_methods + [ 'count' ]
796
+ methods = downsample_methods + upsample_methods
787
797
for method in methods :
788
798
result = getattr (f .resample (freq ), method )()
789
799
790
- expected = f . copy ( )
800
+ expected = pd . Series ([] )
791
801
expected .index = f .index ._shallow_copy (freq = freq )
792
802
assert_index_equal (result .index , expected .index )
793
803
assert result .index .freq == expected .index .freq
@@ -850,11 +860,13 @@ def test_resample_loffset_arg_type(self):
850
860
851
861
def test_resample_empty_dataframe_with_size (self ):
852
862
# GH 14962
853
- df1 = pd .DataFrame (dict (a = range (100 )),
854
- index = pd .date_range ('1/1/2000' , periods = 100 , freq = "M" ))
855
- df2 = df1 [df1 .a < 0 ]
856
- result = df2 .resample ("Q" ).size ()
857
- assertIsInstance (result , pd .Series )
863
+ index = pd .DatetimeIndex ([], freq = 'M' )
864
+ df = pd .DataFrame ([], index = index )
865
+
866
+ for freq in ['M' , 'D' , 'H' ]:
867
+ result = df .resample (freq ).size ()
868
+ expected = pd .Series ([], index = index , dtype = 'int64' )
869
+ assert_series_equal (result , expected )
858
870
859
871
860
872
class TestDatetimeIndex (Base ):
0 commit comments