Skip to content

Commit aa620c8

Browse files
committed
TST: test resample functions as fill_missing values, #1114
1 parent c4ce14b commit aa620c8

File tree

2 files changed

+23
-1
lines changed

2 files changed

+23
-1
lines changed

pandas/tseries/frequencies.py

+3
Original file line numberDiff line numberDiff line change
@@ -901,6 +901,9 @@ def is_superperiod(source, target):
901901
target = target.upper()
902902
source = source.upper()
903903
if _is_annual(source):
904+
if _is_annual(target):
905+
return _get_rule_month(source) == _get_rule_month(target)
906+
904907
if _is_quarterly(target):
905908
smonth = _get_rule_month(source)
906909
tmonth = _get_rule_month(target)

pandas/tseries/tests/test_resample.py

+20-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
from pandas.tseries.index import date_range
88
from pandas.tseries.offsets import Minute, bday
9-
from pandas.tseries.period import period_range
9+
from pandas.tseries.period import period_range, PeriodIndex
1010
from pandas.tseries.resample import DatetimeIndex, TimeGrouper
1111
import pandas.tseries.offsets as offsets
1212

@@ -434,6 +434,25 @@ def test_resample_to_quarterly(self):
434434
expected = expected.resample('Q-MAR', fill_method='ffill')
435435
assert_series_equal(result, expected.to_period('Q-MAR'))
436436

437+
def test_resample_fill_missing(self):
438+
rng = PeriodIndex([2000, 2005, 2007, 2009], freq='A')
439+
440+
s = TimeSeries(np.random.randn(4), index=rng)
441+
442+
stamps = s.to_timestamp()
443+
444+
filled = s.resample('A')
445+
expected = stamps.resample('A').to_period('A')
446+
assert_series_equal(filled, expected)
447+
448+
filled = s.resample('A', fill_method='ffill')
449+
expected = stamps.resample('A', fill_method='ffill').to_period('A')
450+
assert_series_equal(filled, expected)
451+
452+
def test_cant_fill_missing_dups(self):
453+
rng = PeriodIndex([2000, 2005, 2005, 2007, 2007], freq='A')
454+
s = TimeSeries(np.random.randn(5), index=rng)
455+
self.assertRaises(Exception, s.resample, 'A')
437456

438457
class TestTimeGrouper(unittest.TestCase):
439458

0 commit comments

Comments
 (0)