Skip to content

Commit 5edc5c4

Browse files
WillAydjreback
authored andcommitted
Move GroupBy to Submodule and Add FutureWarning (pandas-dev#20506)
1 parent fac2ef1 commit 5edc5c4

15 files changed

+33
-25
lines changed

pandas/core/api.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
from pandas.core.algorithms import factorize, unique, value_counts
88
from pandas.core.dtypes.missing import isna, isnull, notna, notnull
99
from pandas.core.arrays import Categorical
10-
from pandas.core.groupby import Grouper
10+
from pandas.core.groupby.groupby import Grouper
1111
from pandas.io.formats.format import set_eng_float_format
1212
from pandas.core.index import (Index, CategoricalIndex, Int64Index,
1313
UInt64Index, RangeIndex, Float64Index,

pandas/core/generic.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -6589,7 +6589,7 @@ def groupby(self, by=None, axis=0, level=None, as_index=True, sort=True,
65896589
resample : Convenience method for frequency conversion and resampling
65906590
of time series.
65916591
"""
6592-
from pandas.core.groupby import groupby
6592+
from pandas.core.groupby.groupby import groupby
65936593

65946594
if level is None and by is None:
65956595
raise TypeError("You have to supply one of 'by' and 'level'")

pandas/core/groupby/__init__.py

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# flake8: noqa
2+
from pandas.core.groupby.groupby import (
3+
Grouper, GroupBy, SeriesGroupBy, DataFrameGroupBy
4+
)
File renamed without changes.

pandas/core/panel.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -912,7 +912,7 @@ def groupby(self, function, axis='major'):
912912
-------
913913
grouped : PanelGroupBy
914914
"""
915-
from pandas.core.groupby import PanelGroupBy
915+
from pandas.core.groupby.groupby import PanelGroupBy
916916
axis = self._get_axis_number(axis)
917917
return PanelGroupBy(self, function, axis=axis)
918918

pandas/core/resample.py

+4-3
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,10 @@
77
import pandas as pd
88
from pandas.core.base import GroupByMixin
99

10-
from pandas.core.groupby import (BinGrouper, Grouper, _GroupBy, GroupBy,
11-
SeriesGroupBy, groupby, PanelGroupBy,
12-
_pipe_template)
10+
from pandas.core.groupby.groupby import (
11+
BinGrouper, Grouper, _GroupBy, GroupBy, SeriesGroupBy, groupby,
12+
PanelGroupBy, _pipe_template
13+
)
1314

1415
from pandas.tseries.frequencies import to_offset, is_subperiod, is_superperiod
1516
from pandas.core.indexes.datetimes import DatetimeIndex, date_range

pandas/core/reshape/pivot.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
from pandas.core.reshape.concat import concat
88
from pandas.core.series import Series
9-
from pandas.core.groupby import Grouper
9+
from pandas.core.groupby.groupby import Grouper
1010
from pandas.core.reshape.util import cartesian_product
1111
from pandas.core.index import Index, _get_objs_combined_axis
1212
from pandas.compat import range, lrange, zip

pandas/tests/groupby/aggregate/test_aggregate.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
import pandas as pd
1111

1212
from pandas import concat, DataFrame, Index, MultiIndex, Series
13-
from pandas.core.groupby import Grouping, SpecificationError
13+
from pandas.core.groupby.groupby import Grouping, SpecificationError
1414
from pandas.compat import OrderedDict
1515
import pandas.util.testing as tm
1616

pandas/tests/groupby/aggregate/test_cython.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
from pandas import (bdate_range, DataFrame, Index, Series, Timestamp,
1616
Timedelta, NaT)
17-
from pandas.core.groupby import DataError
17+
from pandas.core.groupby.groupby import DataError
1818
import pandas.util.testing as tm
1919

2020

pandas/tests/groupby/aggregate/test_other.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
from pandas import (
1919
date_range, DataFrame, Index, MultiIndex, PeriodIndex, period_range, Series
2020
)
21-
from pandas.core.groupby import SpecificationError
21+
from pandas.core.groupby.groupby import SpecificationError
2222
from pandas.io.formats.printing import pprint_thing
2323
import pandas.util.testing as tm
2424

pandas/tests/groupby/test_bin_groupby.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ def setup_method(self, method):
5454
self.bins = np.array([3, 6], dtype=np.int64)
5555

5656
def test_generate_bins(self):
57-
from pandas.core.groupby import generate_bins_generic
57+
from pandas.core.groupby.groupby import generate_bins_generic
5858
values = np.array([1, 2, 3, 4, 5, 6], dtype=np.int64)
5959
binner = np.array([0, 3, 6, 9], dtype=np.int64)
6060

pandas/tests/groupby/test_grouping.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -340,7 +340,7 @@ def test_groupby_grouper_f_sanity_checked(self):
340340
pytest.raises(AssertionError, ts.groupby, lambda key: key[0:6])
341341

342342
def test_grouping_error_on_multidim_input(self):
343-
from pandas.core.groupby import Grouping
343+
from pandas.core.groupby.groupby import Grouping
344344
pytest.raises(ValueError,
345345
Grouping, self.df.index, self.df[['A', 'A']])
346346

pandas/tests/groupby/test_timegrouper.py

+14-11
Original file line numberDiff line numberDiff line change
@@ -57,11 +57,12 @@ def test_groupby_with_timegrouper(self):
5757
result3 = df.groupby(pd.Grouper(freq='5D')).sum()
5858
assert_frame_equal(result3, expected)
5959

60-
def test_groupby_with_timegrouper_methods(self):
60+
@pytest.mark.parametrize("should_sort", [True, False])
61+
def test_groupby_with_timegrouper_methods(self, should_sort):
6162
# GH 3881
6263
# make sure API of timegrouper conforms
6364

64-
df_original = pd.DataFrame({
65+
df = pd.DataFrame({
6566
'Branch': 'A A A A A B'.split(),
6667
'Buyer': 'Carl Mark Carl Joe Joe Carl'.split(),
6768
'Quantity': [1, 3, 5, 8, 9, 3],
@@ -75,16 +76,18 @@ def test_groupby_with_timegrouper_methods(self):
7576
]
7677
})
7778

78-
df_sorted = df_original.sort_values(by='Quantity', ascending=False)
79+
if should_sort:
80+
df = df.sort_values(by='Quantity', ascending=False)
7981

80-
for df in [df_original, df_sorted]:
81-
df = df.set_index('Date', drop=False)
82-
g = df.groupby(pd.Grouper(freq='6M'))
83-
assert g.group_keys
84-
assert isinstance(g.grouper, pd.core.groupby.BinGrouper)
85-
groups = g.groups
86-
assert isinstance(groups, dict)
87-
assert len(groups) == 3
82+
df = df.set_index('Date', drop=False)
83+
g = df.groupby(pd.Grouper(freq='6M'))
84+
assert g.group_keys
85+
86+
import pandas.core.groupby.groupby
87+
assert isinstance(g.grouper, pandas.core.groupby.groupby.BinGrouper)
88+
groups = g.groups
89+
assert isinstance(groups, dict)
90+
assert len(groups) == 3
8891

8992
def test_timegrouper_with_reg_groups(self):
9093

pandas/tests/groupby/test_transform.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
from .common import MixIn, assert_fp_equal
1414

1515
from pandas.util.testing import assert_frame_equal, assert_series_equal
16-
from pandas.core.groupby import DataError
16+
from pandas.core.groupby.groupby import DataError
1717
from pandas.core.config import option_context
1818

1919

pandas/tests/test_resample.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
from pandas.core.dtypes.generic import ABCSeries, ABCDataFrame
2222
from pandas.compat import range, lrange, zip, product, OrderedDict
2323
from pandas.errors import UnsupportedFunctionCall
24-
from pandas.core.groupby import DataError
24+
from pandas.core.groupby.groupby import DataError
2525
import pandas.core.common as com
2626

2727
from pandas.tseries.frequencies import to_offset

0 commit comments

Comments
 (0)