From 74e65a8f9372b893a3d228973fdd9472de971ff3 Mon Sep 17 00:00:00 2001 From: David Beniamine Date: Mon, 23 Mar 2020 16:53:35 +0100 Subject: [PATCH 01/10] Add test for #32108 --- pandas/tests/groupby/test_groupby.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/pandas/tests/groupby/test_groupby.py b/pandas/tests/groupby/test_groupby.py index 5662d41e19885..2b3d16a965fd5 100644 --- a/pandas/tests/groupby/test_groupby.py +++ b/pandas/tests/groupby/test_groupby.py @@ -12,6 +12,7 @@ import pandas._testing as tm from pandas.core.base import SpecificationError import pandas.core.common as com +from pandas import period_range, Series def test_repr(): @@ -2057,3 +2058,14 @@ def test_groups_repr_truncates(max_seq_items, expected): result = df.groupby(np.array(df.a)).groups.__repr__() assert result == expected + +def test_groupby_period_index(): + periods=2 + index = period_range(start='2018-01', periods=periods, freq='M') + periodSerie = Series(range(periods), index=index) + periodSerie.index.name = 'Month' + result = periodSerie.groupby(periodSerie.index.month).sum() + + expected = pd.Series(range(0,periods), index=range(1,periods+1)) + expected.index.name = periodSerie.index.name + tm.assert_series_equal(result, expected) From fb148f577883a5d40d752b988a53358525dec1fa Mon Sep 17 00:00:00 2001 From: David Rouquet Date: Sat, 28 Mar 2020 21:32:10 +0100 Subject: [PATCH 02/10] Typographic improvements in test_groupby.py Line 2062:1: E302 expected 2 blank lines, found 1 Line 2063:12: E225 missing whitespace around operator Line 2069:33: E231 missing whitespace after ',' Line 2069:57: E231 missing whitespace after ',' Line 2069:65: E226 missing whitespace around arithmetic operator --- pandas/tests/groupby/test_groupby.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pandas/tests/groupby/test_groupby.py b/pandas/tests/groupby/test_groupby.py index 2b3d16a965fd5..6600dc624fc1d 100644 --- a/pandas/tests/groupby/test_groupby.py +++ b/pandas/tests/groupby/test_groupby.py @@ -2059,13 +2059,14 @@ def test_groups_repr_truncates(max_seq_items, expected): result = df.groupby(np.array(df.a)).groups.__repr__() assert result == expected + def test_groupby_period_index(): - periods=2 + periods = 2 index = period_range(start='2018-01', periods=periods, freq='M') periodSerie = Series(range(periods), index=index) periodSerie.index.name = 'Month' result = periodSerie.groupby(periodSerie.index.month).sum() - expected = pd.Series(range(0,periods), index=range(1,periods+1)) + expected = pd.Series(range(0, periods), index=range(1, periods + 1)) expected.index.name = periodSerie.index.name tm.assert_series_equal(result, expected) From a3444fcd0b60b187efd25425875ade3031d3bda5 Mon Sep 17 00:00:00 2001 From: David Rouquet Date: Sat, 28 Mar 2020 22:01:38 +0100 Subject: [PATCH 03/10] Yet again improve typo in test_groupby.py ##[error]pandas/tests/groupby/test_groupby.py:2062: <- trailing whitespaces found ##[error]./pandas/tests/groupby/test_groupby.py:15:1:F811:redefinition of unused 'Series' from line 11 ##[error]ERROR: /home/runner/work/pandas/pandas/pandas/tests/groupby/test_groupby.py Imports are incorrectly sorted. --- pandas/tests/groupby/test_groupby.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pandas/tests/groupby/test_groupby.py b/pandas/tests/groupby/test_groupby.py index 6600dc624fc1d..ef7ff15a83fd3 100644 --- a/pandas/tests/groupby/test_groupby.py +++ b/pandas/tests/groupby/test_groupby.py @@ -8,11 +8,10 @@ from pandas.errors import PerformanceWarning import pandas as pd -from pandas import DataFrame, Index, MultiIndex, Series, Timestamp, date_range, read_csv +from pandas import DataFrame, Index, MultiIndex, Series, Timestamp, date_range, period_range, read_csv import pandas._testing as tm from pandas.core.base import SpecificationError import pandas.core.common as com -from pandas import period_range, Series def test_repr(): @@ -2059,7 +2058,7 @@ def test_groups_repr_truncates(max_seq_items, expected): result = df.groupby(np.array(df.a)).groups.__repr__() assert result == expected - + def test_groupby_period_index(): periods = 2 index = period_range(start='2018-01', periods=periods, freq='M') From 0cd603f0b3961d266383fdf7a09906ad7d441d6f Mon Sep 17 00:00:00 2001 From: David Beniamine Date: Mon, 30 Mar 2020 14:36:17 +0200 Subject: [PATCH 04/10] Fix linter issues --- pandas/tests/groupby/test_groupby.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pandas/tests/groupby/test_groupby.py b/pandas/tests/groupby/test_groupby.py index ef7ff15a83fd3..93235baec645d 100644 --- a/pandas/tests/groupby/test_groupby.py +++ b/pandas/tests/groupby/test_groupby.py @@ -8,7 +8,7 @@ from pandas.errors import PerformanceWarning import pandas as pd -from pandas import DataFrame, Index, MultiIndex, Series, Timestamp, date_range, period_range, read_csv +from pandas import DataFrame, Index, MultiIndex, Series, Timestamp, date_range, read_csv import pandas._testing as tm from pandas.core.base import SpecificationError import pandas.core.common as com @@ -2060,8 +2060,9 @@ def test_groups_repr_truncates(max_seq_items, expected): def test_groupby_period_index(): + # GH 32108 periods = 2 - index = period_range(start='2018-01', periods=periods, freq='M') + index = pd.period_range(start='2018-01', periods=periods, freq='M') periodSerie = Series(range(periods), index=index) periodSerie.index.name = 'Month' result = periodSerie.groupby(periodSerie.index.month).sum() From 35deb448ae7118d1f9f3adeb3261d1746e76306b Mon Sep 17 00:00:00 2001 From: David Beniamine Date: Mon, 30 Mar 2020 15:02:45 +0200 Subject: [PATCH 05/10] Black formating --- pandas/tests/groupby/test_groupby.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pandas/tests/groupby/test_groupby.py b/pandas/tests/groupby/test_groupby.py index 93235baec645d..16a363c38baa8 100644 --- a/pandas/tests/groupby/test_groupby.py +++ b/pandas/tests/groupby/test_groupby.py @@ -2062,9 +2062,9 @@ def test_groups_repr_truncates(max_seq_items, expected): def test_groupby_period_index(): # GH 32108 periods = 2 - index = pd.period_range(start='2018-01', periods=periods, freq='M') + index = pd.period_range(start="2018-01", periods=periods, freq="M") periodSerie = Series(range(periods), index=index) - periodSerie.index.name = 'Month' + periodSerie.index.name = "Month" result = periodSerie.groupby(periodSerie.index.month).sum() expected = pd.Series(range(0, periods), index=range(1, periods + 1)) From e6f38843257d21735f90a49d945c9ba9ec1ba842 Mon Sep 17 00:00:00 2001 From: David Beniamine Date: Tue, 31 Mar 2020 19:55:20 +0200 Subject: [PATCH 06/10] Move test to test_grouping.py --- pandas/tests/groupby/test_groupby.py | 13 ------------- pandas/tests/groupby/test_grouping.py | 12 ++++++++++++ 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/pandas/tests/groupby/test_groupby.py b/pandas/tests/groupby/test_groupby.py index 16a363c38baa8..5662d41e19885 100644 --- a/pandas/tests/groupby/test_groupby.py +++ b/pandas/tests/groupby/test_groupby.py @@ -2057,16 +2057,3 @@ def test_groups_repr_truncates(max_seq_items, expected): result = df.groupby(np.array(df.a)).groups.__repr__() assert result == expected - - -def test_groupby_period_index(): - # GH 32108 - periods = 2 - index = pd.period_range(start="2018-01", periods=periods, freq="M") - periodSerie = Series(range(periods), index=index) - periodSerie.index.name = "Month" - result = periodSerie.groupby(periodSerie.index.month).sum() - - expected = pd.Series(range(0, periods), index=range(1, periods + 1)) - expected.index.name = periodSerie.index.name - tm.assert_series_equal(result, expected) diff --git a/pandas/tests/groupby/test_grouping.py b/pandas/tests/groupby/test_grouping.py index efcd22f9c0c82..87cd410a782e4 100644 --- a/pandas/tests/groupby/test_grouping.py +++ b/pandas/tests/groupby/test_grouping.py @@ -149,6 +149,18 @@ def test_grouper_index_types(self): df.index = list(reversed(df.index.tolist())) df.groupby(list("abcde")).apply(lambda x: x) + def test_grouper_period_index(self): + # GH 32108 + periods = 2 + index = pd.period_range(start="2018-01", periods=periods, freq="M") + periodSerie = pd.Series(range(periods), index=index) + periodSerie.index.name = "Month" + result = periodSerie.groupby(periodSerie.index.month).sum() + + expected = pd.Series(range(0, periods), index=range(1, periods + 1)) + expected.index.name = periodSerie.index.name + tm.assert_series_equal(result, expected) + def test_grouper_multilevel_freq(self): # GH 7885 From fd3c0dbda3a2cabf29ee72cd8c7b1e79b60cc9d1 Mon Sep 17 00:00:00 2001 From: David Beniamine Date: Sat, 4 Apr 2020 15:15:39 +0200 Subject: [PATCH 07/10] Conform to PEP8 --- pandas/tests/groupby/test_grouping.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pandas/tests/groupby/test_grouping.py b/pandas/tests/groupby/test_grouping.py index 87cd410a782e4..fb36034869660 100644 --- a/pandas/tests/groupby/test_grouping.py +++ b/pandas/tests/groupby/test_grouping.py @@ -153,12 +153,12 @@ def test_grouper_period_index(self): # GH 32108 periods = 2 index = pd.period_range(start="2018-01", periods=periods, freq="M") - periodSerie = pd.Series(range(periods), index=index) - periodSerie.index.name = "Month" - result = periodSerie.groupby(periodSerie.index.month).sum() + period_serie = pd.Series(range(periods), index=index) + period_serie.index.name = "Month" + result = period_serie.groupby(period_serie.index.month).sum() expected = pd.Series(range(0, periods), index=range(1, periods + 1)) - expected.index.name = periodSerie.index.name + expected.index.name = period_serie.index.name tm.assert_series_equal(result, expected) def test_grouper_multilevel_freq(self): From 4379fe3a78bb0b613a62b8a9c92256d570cd8f61 Mon Sep 17 00:00:00 2001 From: David Beniamine Date: Tue, 23 Jun 2020 11:36:32 +0200 Subject: [PATCH 08/10] New modifications for PR --- pandas/tests/groupby/test_grouping.py | 12 ------------ pandas/tests/groupby/test_timegrouper.py | 15 +++++++++++++++ 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/pandas/tests/groupby/test_grouping.py b/pandas/tests/groupby/test_grouping.py index fb36034869660..efcd22f9c0c82 100644 --- a/pandas/tests/groupby/test_grouping.py +++ b/pandas/tests/groupby/test_grouping.py @@ -149,18 +149,6 @@ def test_grouper_index_types(self): df.index = list(reversed(df.index.tolist())) df.groupby(list("abcde")).apply(lambda x: x) - def test_grouper_period_index(self): - # GH 32108 - periods = 2 - index = pd.period_range(start="2018-01", periods=periods, freq="M") - period_serie = pd.Series(range(periods), index=index) - period_serie.index.name = "Month" - result = period_serie.groupby(period_serie.index.month).sum() - - expected = pd.Series(range(0, periods), index=range(1, periods + 1)) - expected.index.name = period_serie.index.name - tm.assert_series_equal(result, expected) - def test_grouper_multilevel_freq(self): # GH 7885 diff --git a/pandas/tests/groupby/test_timegrouper.py b/pandas/tests/groupby/test_timegrouper.py index 06a83f4c000cf..c965bba006309 100644 --- a/pandas/tests/groupby/test_timegrouper.py +++ b/pandas/tests/groupby/test_timegrouper.py @@ -769,3 +769,18 @@ def test_scalar_call_versus_list_call(self): expected = grouped.count() tm.assert_frame_equal(result, expected) + + def test_grouper_period_index(self): + # GH 32108 + periods = 2 + index = pd.period_range( + start="2018-01", periods=periods, freq="M", name="Month" + ) + period_serie = pd.Series(range(periods), index=index) + result = period_serie.groupby(period_serie.index.month).sum() + + expected = pd.Series( + range(0, periods), + index=Index(range(1, periods + 1), name=period_serie.index.name), + ) + tm.assert_series_equal(result, expected) From ad9fac68ad45f599466bda90451d22644b2e5d2a Mon Sep 17 00:00:00 2001 From: David Beniamine Date: Tue, 23 Jun 2020 16:03:58 +0200 Subject: [PATCH 09/10] Change index name --- pandas/tests/groupby/test_timegrouper.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pandas/tests/groupby/test_timegrouper.py b/pandas/tests/groupby/test_timegrouper.py index c965bba006309..bec50f1a1f9a9 100644 --- a/pandas/tests/groupby/test_timegrouper.py +++ b/pandas/tests/groupby/test_timegrouper.py @@ -780,7 +780,6 @@ def test_grouper_period_index(self): result = period_serie.groupby(period_serie.index.month).sum() expected = pd.Series( - range(0, periods), - index=Index(range(1, periods + 1), name=period_serie.index.name), + range(0, periods), index=Index(range(1, periods + 1), name=index.name), ) tm.assert_series_equal(result, expected) From 408da644eef812101a9b1d2d9fb219ae95f9fee1 Mon Sep 17 00:00:00 2001 From: David Beniamine Date: Wed, 24 Jun 2020 22:13:42 +0200 Subject: [PATCH 10/10] Rename period_series --- pandas/tests/groupby/test_timegrouper.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pandas/tests/groupby/test_timegrouper.py b/pandas/tests/groupby/test_timegrouper.py index bec50f1a1f9a9..84fd7a1bdfb05 100644 --- a/pandas/tests/groupby/test_timegrouper.py +++ b/pandas/tests/groupby/test_timegrouper.py @@ -776,8 +776,8 @@ def test_grouper_period_index(self): index = pd.period_range( start="2018-01", periods=periods, freq="M", name="Month" ) - period_serie = pd.Series(range(periods), index=index) - result = period_serie.groupby(period_serie.index.month).sum() + period_series = pd.Series(range(periods), index=index) + result = period_series.groupby(period_series.index.month).sum() expected = pd.Series( range(0, periods), index=Index(range(1, periods + 1), name=index.name),