Skip to content

Commit 852c53e

Browse files
toobazjreback
authored andcommitted
BUG: raise error for groupby() with invalid tuple key (#18826)
closes #18798
1 parent b67775b commit 852c53e

File tree

3 files changed

+2
-2
lines changed

3 files changed

+2
-2
lines changed

doc/source/whatsnew/v0.22.0.txt

+1
Original file line numberDiff line numberDiff line change
@@ -316,6 +316,7 @@ Groupby/Resample/Rolling
316316
^^^^^^^^^^^^^^^^^^^^^^^^
317317

318318
- Bug when grouping by a single column and aggregating with a class like ``list`` or ``tuple`` (:issue:`18079`)
319+
- Fixed regression in :func:`DataFrame.groupby` which would not emit an error when called with a tuple key not in the index (:issue:`18798`)
319320
-
320321
-
321322

pandas/core/groupby.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -2977,7 +2977,7 @@ def is_in_obj(gpr):
29772977

29782978

29792979
def _is_label_like(val):
2980-
return (isinstance(val, compat.string_types) or
2980+
return (isinstance(val, (compat.string_types, tuple)) or
29812981
(val is not None and is_scalar(val)))
29822982

29832983

pandas/tests/groupby/test_groupby.py

-1
Original file line numberDiff line numberDiff line change
@@ -2750,7 +2750,6 @@ def test_tuple_warns_unhashable(self):
27502750

27512751
assert "Interpreting tuple 'by' as a list" in str(w[0].message)
27522752

2753-
@pytest.mark.xfail(reason="GH-18798")
27542753
def test_tuple_correct_keyerror(self):
27552754
# https://github.com/pandas-dev/pandas/issues/18798
27562755
df = pd.DataFrame(1, index=range(3),

0 commit comments

Comments
 (0)