Skip to content

Commit

Permalink
ENH: Added functionality in resample to resolve pandas-dev#10530
Browse files Browse the repository at this point in the history
Added tests for updated resample function

Changed if-statement to be lower-bound inclusive

Undid previous change to if statement

Fixed typo in resample.py

Fixed typo in _get_time_bins

Updated _resample_timestamp function

Updated condition in if-statement

Updated exceptions raised in resample

Moved test case into proper file

Fixed typo in test case

Updated tests for resampling fix

ENH: Updated code for fixing pandas-dev#10530

Removed extraneous print statements from tests

Moved code for fix to _get_time_delta_bins function

Updated tests for resample TimeDeltaIndex with base

Updated code for resample TimeDeltaIndex with base

Removed print statements from test case

Removed print statement in tests

Added note to what's new

Removed extra whitespace

Removed addtional whitespace

Removed whitespace

Removed whitespace in resample.py

Removed more whitespace in resample.py

Removed more whitespace

Fixed syntax in what's new
  • Loading branch information
captainsafia committed Aug 15, 2015
1 parent 25be2f2 commit 83a15af
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 0 deletions.
2 changes: 2 additions & 0 deletions doc/source/whatsnew/v0.17.0.txt
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,8 @@ Other enhancements

- Enable `read_hdf` to be used without specifying a key when the HDF file contains a single dataset (:issue:`10443`)

- Added functionality to use ``base`` when resampling a ``TimeDeltaIndex`` (:issue:`10530`)

- ``DatetimeIndex`` can be instantiated using strings contains ``NaT`` (:issue:`7599`)
- The string parsing of ``to_datetime``, ``Timestamp`` and ``DatetimeIndex`` has been made consistent. (:issue:`7599`)

Expand Down
4 changes: 4 additions & 0 deletions pandas/tseries/resample.py
Original file line number Diff line number Diff line change
Expand Up @@ -238,6 +238,10 @@ def _get_time_delta_bins(self, ax):
end_stamps = labels + 1
bins = ax.searchsorted(end_stamps, side='left')

# Addresses GH #10530
if self.base > 0:
labels += type(self.freq)(self.base)

return binner, bins, labels

def _get_time_period_bins(self, ax):
Expand Down
14 changes: 14 additions & 0 deletions pandas/tseries/tests/test_resample.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@

from pandas.core.groupby import DataError
from pandas.tseries.index import date_range
from pandas.tseries.tdi import timedelta_range
from pandas.tseries.offsets import Minute, BDay
from pandas.tseries.period import period_range, PeriodIndex, Period
from pandas.tseries.resample import DatetimeIndex, TimeGrouper
Expand Down Expand Up @@ -627,6 +628,19 @@ def test_resample_base(self):
freq='5min')
self.assertTrue(resampled.index.equals(exp_rng))

def test_resample_base_with_timedeltaindex(self):
rng = timedelta_range(start = '0s', periods = 25, freq = 's')
ts = Series(np.random.randn(len(rng)), index = rng)

with_base = ts.resample('2s', base = 5)
without_base = ts.resample('2s')

exp_without_base = timedelta_range(start = '0s', end = '25s', freq = '2s')
exp_with_base = timedelta_range(start = '5s', end = '29s', freq = '2s')

self.assertTrue(without_base.index.equals(exp_without_base))
self.assertTrue(with_base.index.equals(exp_with_base))

def test_resample_daily_anchored(self):
rng = date_range('1/1/2000 0:00:00', periods=10000, freq='T')
ts = Series(np.random.randn(len(rng)), index=rng)
Expand Down

0 comments on commit 83a15af

Please sign in to comment.