Closed
Description
On master, doing a groupby().resample.agg
with multiple aggfuncs fails.
In [13]: df = pd.DataFrame({"A": pd.to_datetime(['2015', '2017']), "B": [1, 1]})
In [14]: df
Out[14]:
A B
0 2015-01-01 1
1 2017-01-01 1
In [15]: df.set_index("A").groupby([0, 0]).resample("AS")
Out[15]: DatetimeIndexResamplerGroupby [freq=<YearBegin: month=1>, axis=0, closed=left, label=left, convention=e, base=0]
In [16]: df.set_index("A").groupby([0, 0]).resample("AS").agg(['sum', 'count'])
---------------------------------------------------------------------------
Exception Traceback (most recent call last)
<ipython-input-16-5f1c18a8d4ac> in <module>()
----> 1 df.set_index("A").groupby([0, 0]).resample("AS").agg(['sum', 'count'])
~/Envs/pandas-dev/lib/python3.6/site-packages/pandas/pandas/core/resample.py in aggregate(self, arg, *args, **kwargs)
339
340 self._set_binner()
--> 341 result, how = self._aggregate(arg, *args, **kwargs)
342 if result is None:
343 result = self._groupby_and_aggregate(arg,
~/Envs/pandas-dev/lib/python3.6/site-packages/pandas/pandas/core/base.py in _aggregate(self, arg, *args, **kwargs)
538 return self._aggregate_multiple_funcs(arg,
539 _level=_level,
--> 540 _axis=_axis), None
541 else:
542 result = None
~/Envs/pandas-dev/lib/python3.6/site-packages/pandas/pandas/core/base.py in _aggregate_multiple_funcs(self, arg, _level, _axis)
583 try:
584 colg = self._gotitem(col, ndim=1, subset=obj[col])
--> 585 results.append(colg.aggregate(arg))
586 keys.append(col)
587 except (TypeError, DataError):
~/Envs/pandas-dev/lib/python3.6/site-packages/pandas/pandas/core/resample.py in aggregate(self, arg, *args, **kwargs)
339
340 self._set_binner()
--> 341 result, how = self._aggregate(arg, *args, **kwargs)
342 if result is None:
343 result = self._groupby_and_aggregate(arg,
~/Envs/pandas-dev/lib/python3.6/site-packages/pandas/pandas/core/base.py in _aggregate(self, arg, *args, **kwargs)
538 return self._aggregate_multiple_funcs(arg,
539 _level=_level,
--> 540 _axis=_axis), None
541 else:
542 result = None
~/Envs/pandas-dev/lib/python3.6/site-packages/pandas/pandas/core/base.py in _aggregate_multiple_funcs(self, arg, _level, _axis)
582 for col in obj:
583 try:
--> 584 colg = self._gotitem(col, ndim=1, subset=obj[col])
585 results.append(colg.aggregate(arg))
586 keys.append(col)
~/Envs/pandas-dev/lib/python3.6/site-packages/pandas/pandas/core/base.py in _gotitem(self, key, ndim, subset)
675 for attr in self._attributes])
676 self = self.__class__(subset,
--> 677 groupby=self._groupby[key],
678 parent=self,
679 **kwargs)
~/Envs/pandas-dev/lib/python3.6/site-packages/pandas/pandas/core/base.py in __getitem__(self, key)
241 if self._selection is not None:
242 raise Exception('Column(s) {selection} already selected'
--> 243 .format(selection=self._selection))
244
245 if isinstance(key, (list, tuple, ABCSeries, ABCIndexClass,
Exception: Column(s) B already selected
A single aggfunc is OK.