Skip to content

Commit d14d821

Browse files
committed
BUG #14962
1 parent d9e75c7 commit d14d821

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

pandas/tests/tseries/test_resample.py

+10-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@
2525
DatetimeIndexResampler)
2626
from pandas.tseries.tdi import timedelta_range, TimedeltaIndex
2727
from pandas.util.testing import (assert_series_equal, assert_almost_equal,
28-
assert_frame_equal, assert_index_equal)
28+
assert_frame_equal, assert_index_equal,
29+
assertIsInstance)
2930
from pandas._period import IncompatibleFrequency
3031

3132
bday = BDay()
@@ -836,6 +837,14 @@ def test_resample_loffset_arg_type(self):
836837
assert_frame_equal(result_agg, expected)
837838
assert_frame_equal(result_how, expected)
838839

840+
def test_resample_empty_dataframe_with_size(self):
841+
# GH 14962
842+
df1 = pd.DataFrame(dict(a=range(100)),
843+
index=pd.date_range('1/1/2000', periods=100, freq="M"))
844+
df2 = df1[df1.a < 0]
845+
result = df2.resample("Q").size()
846+
assertIsInstance(result, pd.Series)
847+
839848

840849
class TestDatetimeIndex(Base, tm.TestCase):
841850
_index_factory = lambda x: date_range

pandas/tseries/resample.py

+4
Original file line numberDiff line numberDiff line change
@@ -699,6 +699,10 @@ def _downsample(self, how, **kwargs):
699699
if not len(ax):
700700
# reset to the new freq
701701
obj = obj.copy()
702+
if how == "size" and isinstance(obj, pd.DataFrame):
703+
obj = obj.groupby(
704+
self.grouper, axis=self.axis).aggregate(how, **kwargs)
705+
702706
obj.index.freq = self.freq
703707
return obj
704708

0 commit comments

Comments
 (0)