This seems to not conform to the DataFrame.groupby/Series.groupby
should be straightforward to fix this I think, just simply removing it in favor of core/generic/NDFrame.groupby
, but would need to fix tests, maybe. The mapper
argument is the by
argument.
http://stackoverflow.com/questions/24914748/why-does-panel-groupby-not-accept-level-parameter-in-pandas-0-14/24915441#24915441
Comment From: connorbrinton
Attempting to call Panel.mean(axis=foo, level=bar)
on a Panel
with a MultiIndex
for items
fails because of this older API for groupby.
Details:
In [16]: results
Out[16]:
<class 'pandas.core.panel.Panel'>
Dimensions: 162 (items) x 3 (major_axis) x 107 (minor_axis)
Items axis: (0, 0) to (26, 5)
Major_axis axis: x to z
Minor_axis axis: 0 to 106
In [17]: results.mean(0, level='ring')
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
/home/connor/script.py in <module>()
----> 1 results.mean(0, level='ring')
/usr/local/lib/python2.7/dist-packages/pandas/core/generic.pyc in stat_func(self, axis, skipna, level, numeric_only, **kwargs)
5306 if level is not None:
5307 return self._agg_by_level(name, axis=axis, level=level,
-> 5308 skipna=skipna)
5309 return self._reduce(f, name, axis=axis, skipna=skipna,
5310 numeric_only=numeric_only)
/usr/local/lib/python2.7/dist-packages/pandas/core/generic.pyc in _agg_by_level(self, name, axis, level, skipna, **kwargs)
5016
5017 def _agg_by_level(self, name, axis=0, level=0, skipna=True, **kwargs):
-> 5018 grouped = self.groupby(level=level, axis=axis)
5019 if hasattr(grouped, name) and skipna:
5020 return getattr(grouped, name)(**kwargs)
TypeError: groupby() got an unexpected keyword argument 'level'
Comment From: jreback
Panels with MI have very little support. You are highly recommended to use a DataFrame with a MI. (also much easier to reason about).
that said, patches would be accepted.
Comment From: max-sixty
Or xarray!
Comment From: jreback
closing as Panel deprecated