@@ -118,6 +118,19 @@ def test_resample_empty_series(freq, empty_series, resample_method):
118
118
assert_series_equal (result , expected , check_dtype = False )
119
119
120
120
121
+ @pytest .mark .parametrize ("freq" , ["M" , "D" , "H" ])
122
+ @pytest .mark .parametrize ("resample_method" , ["count" , "size" ])
123
+ def test_resample_count_empty_series (freq , resample_method ):
124
+ # GH28427
125
+
126
+ empty_series = pd .Series ([], dtype = "datetime64[ns]" , index = pd .DatetimeIndex ([]))
127
+ result = getattr (empty_series .resample (freq ), resample_method )()
128
+
129
+ expected = pd .Series ([], dtype = "int64" , index = pd .DatetimeIndex ([], freq = freq ))
130
+
131
+ assert_series_equal (result , expected )
132
+
133
+
121
134
@all_ts
122
135
@pytest .mark .parametrize ("freq" , ["M" , "D" , "H" ])
123
136
def test_resample_empty_dataframe (empty_frame , freq , resample_method ):
@@ -142,6 +155,36 @@ def test_resample_empty_dataframe(empty_frame, freq, resample_method):
142
155
# test size for GH13212 (currently stays as df)
143
156
144
157
158
+ @pytest .mark .parametrize ("freq" , ["M" , "D" , "H" ])
159
+ def test_resample_count_empty_dataframe (freq ):
160
+ # GH28427
161
+
162
+ empty_dataframe = pd .DataFrame (
163
+ {"a" : []}, dtype = "datetime64[ns]" , index = pd .DatetimeIndex ([])
164
+ )
165
+ result = empty_dataframe .resample (freq ).count ()
166
+
167
+ expected = pd .DataFrame (
168
+ {"a" : []}, dtype = "int64" , index = pd .DatetimeIndex ([], freq = freq )
169
+ )
170
+
171
+ assert_frame_equal (result , expected )
172
+
173
+
174
+ @pytest .mark .parametrize ("freq" , ["M" , "D" , "H" ])
175
+ def test_resample_size_empty_dataframe (freq ):
176
+ # GH28427
177
+
178
+ empty_dataframe = pd .DataFrame (
179
+ {"a" : []}, dtype = "datetime64[ns]" , index = pd .DatetimeIndex ([])
180
+ )
181
+ result = empty_dataframe .resample (freq ).size ()
182
+
183
+ expected = pd .Series ([], dtype = "int64" , index = pd .DatetimeIndex ([], freq = freq ))
184
+
185
+ assert_series_equal (result , expected )
186
+
187
+
145
188
@pytest .mark .parametrize ("index" , tm .all_timeseries_index_generator (0 ))
146
189
@pytest .mark .parametrize ("dtype" , [np .float , np .int , np .object , "datetime64[ns]" ])
147
190
def test_resample_empty_dtypes (index , dtype , resample_method ):
0 commit comments