Skip to content

Commit ce604af

Browse files
committed
TST: more tests for resample closed and label inference
1 parent 9deda9e commit ce604af

File tree

2 files changed

+30
-2
lines changed

2 files changed

+30
-2
lines changed

pandas/tseries/resample.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ def __init__(self, freq='Min', closed=None, label=None, how='mean',
4444
end_types = set(['M', 'A', 'Q', 'BM', 'BA', 'BQ', 'W'])
4545
rule = self.freq.rule_code
4646
if (rule in end_types or
47-
('-' in rule and rule[:rule.find('-')])):
47+
('-' in rule and rule[:rule.find('-')] in end_types)):
4848
if closed is None:
4949
closed = 'right'
5050
if label is None:

pandas/tseries/tests/test_resample.py

+29-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@
1616
import unittest
1717
import nose
1818

19-
from pandas.util.testing import assert_series_equal, assert_almost_equal
19+
from pandas.util.testing import (assert_series_equal, assert_almost_equal,
20+
assert_frame_equal)
2021
import pandas.util.testing as tm
2122

2223
bday = BDay()
@@ -894,6 +895,33 @@ def test_resample_weekly_bug_1726(self):
894895

895896
# assert_series_equal(result, expected)
896897

898+
def test_default_right_closed_label(self):
899+
end_freq = ['D', 'Q', 'M', 'D']
900+
end_types = ['M', 'A', 'Q', 'W']
901+
902+
for from_freq, to_freq in zip(end_freq, end_types):
903+
idx = DatetimeIndex(start='8/15/2012', periods=100,
904+
freq=from_freq)
905+
df = DataFrame(np.random.randn(len(idx), 2), idx)
906+
907+
resampled = df.resample(to_freq)
908+
assert_frame_equal(resampled, df.resample(to_freq, closed='right',
909+
label='right'))
910+
911+
def test_default_left_closed_label(self):
912+
others = ['MS', 'AS', 'QS', 'D', 'H']
913+
others_freq = ['D', 'Q', 'M', 'H', 'T']
914+
915+
for from_freq, to_freq in zip(others_freq, others):
916+
idx = DatetimeIndex(start='8/15/2012', periods=100,
917+
freq=from_freq)
918+
df = DataFrame(np.random.randn(len(idx), 2), idx)
919+
920+
resampled = df.resample(to_freq)
921+
assert_frame_equal(resampled, df.resample(to_freq, closed='left',
922+
label='left'))
923+
924+
897925
class TestTimeGrouper(unittest.TestCase):
898926

899927
def setUp(self):

0 commit comments

Comments
 (0)