Issue 1:
A small, complete example of the issue

# Your code here
df = pd.DataFrame(columns=['a','b','c'])
df.groupby('a',as_index=False).agg({'b':'nunique'})

Expected Output

We shouldn't get an Exception

Output of pd.show_versions()

INSTALLED VERSIONS
------------------
commit: None
python: 2.7.12.final.0
python-bits: 64
OS: Darwin
OS-release: 16.0.0
machine: x86_64
processor: i386
byteorder: little
LC_ALL: None
LANG: en_US.UTF-8
LOCALE: None.None

pandas: 0.19.0

nose: 1.3.7

pip: 8.1.2

setuptools: 27.2.0

Cython: 0.25.1

numpy: 1.11.2

scipy: 0.18.1

statsmodels: 0.6.1

xarray: None

IPython: 5.1.0

sphinx: 1.4.8

patsy: 0.4.1

dateutil: 2.5.3

pytz: 2016.7

blosc: None

bottleneck: 1.1.0

tables: 3.3.0

numexpr: 2.6.1

matplotlib: 1.5.3

openpyxl: 2.4.0

xlrd: 1.0.0

xlwt: 1.1.2

xlsxwriter: 0.9.3

lxml: 3.6.4

bs4: 4.5.1

html5lib: None

httplib2: None

apiclient: None

sqlalchemy: 1.0.9

pymysql: None

psycopg2: None

jinja2: 2.8

boto: 2.43.0

pandas_datareader: None

i get the following output

Traceback (most recent call last):

File "/Users/ilangadassi/Documents/workspace/python/MyTests/test1.py", line 75, in

testDfGroup()

File "/Users/ilangadassi/Documents/workspace/python/MyTests/test1.py", line 71, in testDfGroup

df.groupby('a',as_index=False).agg({'b':'nunique'})

File "/Users/ilangadassi/anaconda/lib/python2.7/site-packages/pandas/core/groupby.py", line 3774, in aggregate

return super(DataFrameGroupBy, self).aggregate(arg, *args, **kwargs)

File "/Users/ilangadassi/anaconda/lib/python2.7/site-packages/pandas/core/groupby.py", line 3272, in aggregate

result, how = self._aggregate(arg, _level=_level, *args, **kwargs)

File "/Users/ilangadassi/anaconda/lib/python2.7/site-packages/pandas/core/base.py", line 549, in _aggregate

result = _agg(arg, _agg_1dim)

File "/Users/ilangadassi/anaconda/lib/python2.7/site-packages/pandas/core/base.py", line 500, in _agg

result[fname] = func(fname, agg_how)

File "/Users/ilangadassi/anaconda/lib/python2.7/site-packages/pandas/core/base.py", line 483, in _agg_1dim

return colg.aggregate(how, _level=(_level or 0) + 1)

File "/Users/ilangadassi/anaconda/lib/python2.7/site-packages/pandas/core/groupby.py", line 2660, in aggregate

return getattr(self, func_or_funcs)(*args, **kwargs)

File "/Users/ilangadassi/anaconda/lib/python2.7/site-packages/pandas/core/groupby.py", line 3023, in nunique

res = out if ids[0] != -1 else out[1:]

IndexError: index 0 is out of bounds for axis 0 with size 0

Issue 2:
Code Sample, a copy-pastable example if possible

In [18]: b = pandas.Series()

In [19]: g = b.groupby(level = 0)

In [20]: g.nunique()
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
<ipython-input-20-fbbfc3108eac> in <module>()
----> 1 g.nunique()

/usr/local/lib/python2.7/dist-packages/pandas/core/groupby.pyc in nunique(self, dropna)
2693
2694 out = np.add.reduceat(inc, idx).astype('int64', copy=False)
-> 2695 return Series(out if ids[0] != -1 else out[1:],
2696 index=self.grouper.result_index,
2697 name=self.name)

IndexError: index 0 is out of bounds for axis 0 with size 0

Expected Output

0

output of pd.show_versions()

INSTALLED VERSIONS
------------------
commit: None
python: 2.7.6.final.0
python-bits: 64
OS: Linux
OS-release: 3.13.0-79-generic
machine: x86_64
processor: x86_64
byteorder: little
LC_ALL: None
LANG: en_US.UTF-8

pandas: 0.17.1
nose: 1.3.1
pip: 8.0.2
setuptools: 20.1.1
Cython: None
numpy: 1.10.4
scipy: 0.13.3
statsmodels: 0.5.0
IPython: 4.1.1
sphinx: None
patsy: 0.2.1
dateutil: 2.4.2
pytz: 2015.7
blosc: None
bottleneck: None
tables: 3.1.1
numexpr: 2.2.2
matplotlib: 1.3.1
openpyxl: 1.7.0
xlrd: 0.9.2
xlwt: 0.7.5
xlsxwriter: None
lxml: None
bs4: 4.2.1
html5lib: 0.999
httplib2: 0.8
apiclient: None
sqlalchemy: None
pymysql: None
psycopg2: None
Jinja2: None