diff --git a/pandas/core/groupby.py b/pandas/core/groupby.py index 80f9a768008fb4..dd1174223752a8 100644 --- a/pandas/core/groupby.py +++ b/pandas/core/groupby.py @@ -2586,19 +2586,18 @@ def _get_grouper(obj, key=None, axis=0, level=None, sort=True, """ group_axis = obj._get_axis(axis) - if key is None and level is not None and \ - isinstance(group_axis, MultiIndex): - if is_list_like(level) and len(level) == 1: - level = level[0] - - if is_scalar(level): - key = group_axis.get_level_values(level) - level = None - # validate that the passed level is compatible with the passed # axis of the object if level is not None: - if not isinstance(group_axis, MultiIndex): + if isinstance(group_axis, MultiIndex): + if is_list_like(level) and len(level) == 1: + level = level[0] + + if key is None and is_scalar(level): + key = group_axis.get_level_values(level) + level = None + + else: # allow level to be a length-one list-like object # (e.g., level=[0]) # GH 13901