Skip to content

Commit 32e44c3

Browse files
committed
add additional groupby testcases (19029)
1 parent 117872f commit 32e44c3

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed

pandas/tests/groupby/test_groupby.py

+40
Original file line numberDiff line numberDiff line change
@@ -1674,3 +1674,43 @@ def test_tuple_correct_keyerror():
16741674
[3, 4]]))
16751675
with tm.assert_raises_regex(KeyError, "(7, 8)"):
16761676
df.groupby((7, 8)).mean()
1677+
1678+
1679+
def test_dup_index_names():
1680+
# duplicated index names in groupby operations should be renamed (GH 19029):
1681+
df = pd.DataFrame(data={'date': list(pd.date_range('5.1.2018', '5.3.2018')),
1682+
'vals': list(range(3))})
1683+
1684+
mi = pd.MultiIndex.from_product([[5], [1, 2, 3]], names=['date0', 'date1'])
1685+
expected = pd.Series(data=list(range(3)), index=mi, name='vals')
1686+
1687+
failed = False
1688+
try:
1689+
result = df.groupby([df.date.dt.month, df.date.dt.day])['vals'].sum()
1690+
except ValueError as e:
1691+
failed = True
1692+
1693+
assert failed == False
1694+
1695+
tm.assert_series_equal(result,expected)
1696+
1697+
1698+
def test_empty_index_names():
1699+
# don't rename frames in case no names were assigned (GH 19029)
1700+
df = pd.DataFrame(data={'date': list(pd.date_range('5.1.2018', '5.3.2018')),
1701+
'vals': list(range(3))})
1702+
1703+
mi = pd.MultiIndex.from_product([[5], [1, 2, 3]])
1704+
expected = pd.Series(data=list(range(3)), index=mi, name='vals')
1705+
1706+
failed = False
1707+
try:
1708+
result = df.groupby([df.date.dt.month.rename(None),
1709+
df.date.dt.day.rename(None)])['vals'].sum()
1710+
except ValueError as e:
1711+
failed = True
1712+
1713+
assert failed == False
1714+
1715+
tm.assert_series_equal(result,expected)
1716+

0 commit comments

Comments
 (0)