Closed
Description
xref #14432
Which of these should raise FutureWarning
s? I think the idea was to use pd.Grouper(name)
to disambiguate? In that case In [21]
should not raise a warning?
In [17]: df = pd.DataFrame({"A": [1] * 5 + [2] * 5, "B": ['a', 'b'] * 5, 'C': range(10)}, index=pd.Index(range(10), name='A'))
In [19]: _ = df.groupby('A').mean()
/Users/taugspurger/.virtualenvs/pandas-dev/bin/ipython:1: FutureWarning: 'A' is both a column name and an index level.
Defaulting to column but this will raise an ambiguity error in a future version
#!/Users/taugspurger/Envs/pandas-dev/bin/python3.6
In [20]: _ = df.groupby(['A']).mean()
/Users/taugspurger/.virtualenvs/pandas-dev/bin/ipython:1: FutureWarning: 'A' is both a column name and an index level.
Defaulting to column but this will raise an ambiguity error in a future version
#!/Users/taugspurger/Envs/pandas-dev/bin/python3.6
In [21]: _ = df.groupby(pd.Grouper('A')).mean()
/Users/taugspurger/Envs/pandas-dev/lib/python3.6/site-packages/pandas/pandas/core/groupby.py:1699: FutureWarning: 'A' is both a column name and an index level.
Defaulting to column but this will raise an ambiguity error in a future version
return klass(obj, by, **kwds)
In [22]: _ = df.groupby([pd.Grouper('A')]).mean()
cc @jmmease