You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
pandas supports "pad" (forward fill) and "backfill" upsampling, but not "nearest" upsampling. This could be a nice feature to have, and should be pretty easy, too, as the underlying Index.get_indexer method already supports method='nearest'.
Possibly this would be as easy as adding only a few lines to the Resampler class in pandas/core/resample.py. Just monkey-patching this one-liner method seems to work:
In [47]: def nearest(self, limit=None):
...: return self._upsample('nearest', limit=limit)
...:
In [48]: pd.core.resample.Resampler.nearest = nearest
In [49]: index = pd.date_range('1/1/2000', periods=9, freq='T')
...:
In [50]: series = pd.Series(range(9), index=index)
In [51]: series.resample('20s').nearest()[:5]
Out[51]:
2000-01-01 00:00:00 0
2000-01-01 00:00:20 0
2000-01-01 00:00:40 1
2000-01-01 00:01:00 1
2000-01-01 00:01:20 1
Freq: 20S, dtype: int64
Obviously this needs tests and documentation. Potetially this could be a good project for a new contributor.
This came up in pydata/xarray#1272 where we are copying the new pandas resample() API to xarray.
The text was updated successfully, but these errors were encountered:
pandas supports "pad" (forward fill) and "backfill" upsampling, but not "nearest" upsampling. This could be a nice feature to have, and should be pretty easy, too, as the underlying
Index.get_indexer
method already supportsmethod='nearest'
.Possibly this would be as easy as adding only a few lines to the
Resampler
class inpandas/core/resample.py
. Just monkey-patching this one-liner method seems to work:Obviously this needs tests and documentation. Potetially this could be a good project for a new contributor.
This came up in pydata/xarray#1272 where we are copying the new pandas
resample()
API to xarray.The text was updated successfully, but these errors were encountered: