Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BUG: Count on resampled PeriodIndex fails #12774

Closed
max-sixty opened this issue Apr 2, 2016 · 2 comments
Closed

BUG: Count on resampled PeriodIndex fails #12774

max-sixty opened this issue Apr 2, 2016 · 2 comments
Labels
Bug Period Period data type Resample resample method
Milestone

Comments

@max-sixty
Copy link
Contributor

In [38]: pd.Series(1, index=pd.period_range(start='2000', periods=100)).resample('M').count()
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-38-295afa97781f> in <module>()
----> 1 pd.Series(1, index=pd.period_range(start='2000', periods=100)).resample('M').count()

/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/pandas/tseries/resample.py in f(self, _method)
    473 
    474     def f(self, _method=method):
--> 475         return self._groupby_and_aggregate(None, _method)
    476     f.__doc__ = getattr(GroupBy, method).__doc__
    477     setattr(Resampler, method, f)

/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/pandas/tseries/resample.py in _groupby_and_aggregate(self, grouper, how, *args, **kwargs)
    353 
    354         if grouper is None:
--> 355             self._set_binner()
    356             grouper = self.grouper
    357 

/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/pandas/tseries/resample.py in _set_binner(self)
    202 
    203         if self.binner is None:
--> 204             self.binner, self.grouper = self._get_binner()
    205 
    206     def _get_binner(self):

/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/pandas/tseries/resample.py in _get_binner(self)
    210         """
    211 
--> 212         binner, bins, binlabels = self._get_binner_for_time()
    213         bin_grouper = BinGrouper(bins, binlabels)
    214         return binner, bin_grouper

/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/pandas/tseries/resample.py in _get_binner_for_time(self)
    538         if self.kind == 'period':
    539             return self.groupby._get_time_period_bins(self.ax)
--> 540         return self.groupby._get_time_bins(self.ax)
    541 
    542     def _downsample(self, how, **kwargs):

/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/pandas/tseries/resample.py in _get_time_bins(self, ax)
    905         if not isinstance(ax, DatetimeIndex):
    906             raise TypeError('axis must be a DatetimeIndex, but got '
--> 907                             'an instance of %r' % type(ax).__name__)
    908 
    909         if len(ax) == 0:

TypeError: axis must be a DatetimeIndex, but got an instance of 'PeriodIndex'

Expected:

Out[39]: 
2000-01    31
2000-02    29
2000-03    31
2000-04     9
Freq: M, dtype: int64

On pandas 0.18

@jreback
Copy link
Contributor

jreback commented Apr 2, 2016

yeah things much less tested with PeriodIndex, and some convoluted logic exists w.r.t. to the kind arg. Which we should prob just remove. If you want to .resample with a PeriodIndex just convert it.

@jreback jreback added Bug Period Period data type Resample resample method Difficulty Intermediate labels Apr 2, 2016
@jreback jreback added this to the 0.18.1 milestone Apr 2, 2016
@jreback
Copy link
Contributor

jreback commented Apr 2, 2016

would appreciate a PR that goes thru all the available functions for periods.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Period Period data type Resample resample method
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants