diff --git a/pandas/core/groupby/base.py b/pandas/core/groupby/base.py index ac84971de08d8..9ef30b8fd021f 100644 --- a/pandas/core/groupby/base.py +++ b/pandas/core/groupby/base.py @@ -5,8 +5,9 @@ """ import types + +from pandas.core.dtypes.common import is_list_like, is_scalar from pandas.util._decorators import make_signature -from pandas.core.dtypes.common import is_scalar, is_list_like class GroupByMixin(object): diff --git a/pandas/core/groupby/categorical.py b/pandas/core/groupby/categorical.py index e54045884ea93..3e653704bbace 100644 --- a/pandas/core/groupby/categorical.py +++ b/pandas/core/groupby/categorical.py @@ -1,7 +1,9 @@ import numpy as np + from pandas.core.algorithms import unique1d from pandas.core.arrays.categorical import ( - _recode_for_categories, CategoricalDtype, Categorical) + Categorical, CategoricalDtype, _recode_for_categories +) def recode_for_groupby(c, sort, observed): diff --git a/pandas/core/groupby/generic.py b/pandas/core/groupby/generic.py index 63bf67854e5cd..a832eecf87721 100644 --- a/pandas/core/groupby/generic.py +++ b/pandas/core/groupby/generic.py @@ -7,48 +7,40 @@ """ import collections -import warnings import copy -from textwrap import dedent +import warnings from functools import partial +from textwrap import dedent import numpy as np -from pandas._libs import lib, Timestamp -from pandas.util._decorators import Substitution, Appender -from pandas import compat - -import pandas.core.indexes.base as ibase +import pandas.core.algorithms as algorithms import pandas.core.common as com -from pandas.core.panel import Panel +import pandas.core.indexes.base as ibase +from pandas import compat +from pandas._libs import Timestamp, lib from pandas.compat import lzip, map - -from pandas.core.series import Series -from pandas.core.generic import _shared_docs -from pandas.core.groupby.groupby import ( - GroupBy, _apply_docs, _transform_template) -from pandas.core.generic import NDFrame -from pandas.core.groupby import base +from pandas.compat.numpy import _np_version_under1p13 +from pandas.core.arrays import Categorical +from pandas.core.base import DataError, SpecificationError +from pandas.core.dtypes.cast import maybe_downcast_to_dtype from pandas.core.dtypes.common import ( - is_scalar, - is_bool, - is_datetimelike, - is_numeric_dtype, - is_integer_dtype, - is_interval_dtype, - ensure_platform_int, - ensure_int64) + ensure_int64, ensure_platform_int, is_bool, is_datetimelike, + is_integer_dtype, is_interval_dtype, is_numeric_dtype, is_scalar +) from pandas.core.dtypes.missing import isna, notna -import pandas.core.algorithms as algorithms from pandas.core.frame import DataFrame -from pandas.core.dtypes.cast import maybe_downcast_to_dtype -from pandas.core.base import SpecificationError, DataError -from pandas.core.index import Index, MultiIndex, CategoricalIndex -from pandas.core.arrays import Categorical +from pandas.core.generic import NDFrame, _shared_docs +from pandas.core.groupby import base +from pandas.core.groupby.groupby import ( + GroupBy, _apply_docs, _transform_template +) +from pandas.core.index import CategoricalIndex, Index, MultiIndex from pandas.core.internals import BlockManager, make_block -from pandas.compat.numpy import _np_version_under1p13 - +from pandas.core.panel import Panel +from pandas.core.series import Series from pandas.plotting._core import boxplot_frame_groupby +from pandas.util._decorators import Appender, Substitution class NDFrameGroupBy(GroupBy): diff --git a/pandas/core/groupby/groupby.py b/pandas/core/groupby/groupby.py index 025be781d9ee8..5acccbf688e30 100644 --- a/pandas/core/groupby/groupby.py +++ b/pandas/core/groupby/groupby.py @@ -7,42 +7,36 @@ class providing the base-class of operations. expose these user-facing objects to provide specific functionailty. """ -import types -from functools import wraps, partial -import datetime import collections +import datetime +import types import warnings from contextlib import contextmanager +from functools import partial, wraps import numpy as np -from pandas._libs import groupby as libgroupby, Timestamp -from pandas.util._validators import validate_kwargs -from pandas.util._decorators import ( - cache_readonly, Substitution, Appender) - +import pandas.core.algorithms as algorithms +import pandas.core.common as com from pandas import compat -from pandas.compat import zip, range, callable, set_function_name +from pandas._libs import Timestamp, groupby as libgroupby +from pandas.compat import callable, range, set_function_name, zip from pandas.compat.numpy import function as nv - -from pandas.core.dtypes.common import ( - is_numeric_dtype, - is_scalar, - ensure_float) +from pandas.core.base import ( + DataError, GroupByError, PandasObject, SelectionMixin, SpecificationError +) +from pandas.core.config import option_context from pandas.core.dtypes.cast import maybe_downcast_to_dtype +from pandas.core.dtypes.common import ensure_float, is_numeric_dtype, is_scalar from pandas.core.dtypes.missing import isna, notna - +from pandas.core.frame import DataFrame +from pandas.core.generic import NDFrame from pandas.core.groupby import base -from pandas.core.base import (PandasObject, SelectionMixin, GroupByError, - DataError, SpecificationError) from pandas.core.index import Index, MultiIndex -from pandas.core.generic import NDFrame -from pandas.core.frame import DataFrame from pandas.core.series import Series from pandas.core.sorting import get_group_index_sorter -import pandas.core.common as com -import pandas.core.algorithms as algorithms -from pandas.core.config import option_context +from pandas.util._decorators import Appender, Substitution, cache_readonly +from pandas.util._validators import validate_kwargs _doc_template = """ diff --git a/pandas/core/groupby/grouper.py b/pandas/core/groupby/grouper.py index 1c8fe0e6cadad..cbe87040b8117 100644 --- a/pandas/core/groupby/grouper.py +++ b/pandas/core/groupby/grouper.py @@ -4,31 +4,25 @@ """ import warnings -import numpy as np -from pandas.util._decorators import cache_readonly +import numpy as np +import pandas.core.algorithms as algorithms +import pandas.core.common as com from pandas import compat -from pandas.compat import zip, callable - -from pandas.core.dtypes.generic import ABCSeries -from pandas.core.arrays import ExtensionArray, Categorical -from pandas.core.index import ( - Index, MultiIndex, CategoricalIndex) +from pandas.compat import callable, zip +from pandas.core.arrays import Categorical, ExtensionArray from pandas.core.dtypes.common import ( - ensure_categorical, - is_hashable, - is_list_like, - is_timedelta64_dtype, - is_datetime64_dtype, - is_categorical_dtype, - is_scalar) -from pandas.core.series import Series + ensure_categorical, is_categorical_dtype, is_datetime64_dtype, is_hashable, + is_list_like, is_scalar, is_timedelta64_dtype +) +from pandas.core.dtypes.generic import ABCSeries from pandas.core.frame import DataFrame -import pandas.core.common as com from pandas.core.groupby.ops import BaseGrouper -import pandas.core.algorithms as algorithms +from pandas.core.index import CategoricalIndex, Index, MultiIndex +from pandas.core.series import Series from pandas.io.formats.printing import pprint_thing +from pandas.util._decorators import cache_readonly class Grouper(object): diff --git a/pandas/core/groupby/ops.py b/pandas/core/groupby/ops.py index b199127ac867b..af22744c4feec 100644 --- a/pandas/core/groupby/ops.py +++ b/pandas/core/groupby/ops.py @@ -6,42 +6,33 @@ are contained *in* the SeriesGroupBy and DataFrameGroupBy objects. """ -import copy import collections -import numpy as np - -from pandas._libs import lib, reduction, NaT, iNaT, groupby as libgroupby -from pandas.util._decorators import cache_readonly +import copy -from pandas.compat import zip, range, lzip +import numpy as np +import pandas.core.algorithms as algorithms +import pandas.core.common as com +from pandas._libs import NaT, groupby as libgroupby, iNaT, lib, reduction +from pandas.compat import lzip, range, zip from pandas.core.base import SelectionMixin -from pandas.core.dtypes.missing import isna, _maybe_fill -from pandas.core.index import ( - Index, MultiIndex, ensure_index) from pandas.core.dtypes.common import ( - ensure_float64, - ensure_platform_int, - ensure_int64, - ensure_int64_or_float64, - ensure_object, - needs_i8_conversion, - is_integer_dtype, - is_complex_dtype, - is_bool_dtype, - is_numeric_dtype, - is_timedelta64_dtype, - is_datetime64_any_dtype, - is_categorical_dtype) -from pandas.core.series import Series + ensure_float64, ensure_int64, ensure_int64_or_float64, ensure_object, + ensure_platform_int, is_bool_dtype, is_categorical_dtype, is_complex_dtype, + is_datetime64_any_dtype, is_integer_dtype, is_numeric_dtype, + is_timedelta64_dtype, needs_i8_conversion +) +from pandas.core.dtypes.missing import _maybe_fill, isna from pandas.core.frame import DataFrame from pandas.core.generic import NDFrame -import pandas.core.common as com from pandas.core.groupby import base -from pandas.core.sorting import (get_group_index_sorter, get_group_index, - compress_group_index, get_flattened_iterator, - decons_obs_group_ids, get_indexer_dict) -import pandas.core.algorithms as algorithms +from pandas.core.index import Index, MultiIndex, ensure_index +from pandas.core.series import Series +from pandas.core.sorting import ( + compress_group_index, decons_obs_group_ids, get_flattened_iterator, + get_group_index, get_group_index_sorter, get_indexer_dict +) +from pandas.util._decorators import cache_readonly def generate_bins_generic(values, binner, closed): diff --git a/setup.cfg b/setup.cfg index ee39844996025..9eee370dc9f1f 100644 --- a/setup.cfg +++ b/setup.cfg @@ -182,12 +182,6 @@ skip= pandas/core/internals/concat.py, pandas/core/internals/managers.py, pandas/core/internals/blocks.py, - pandas/core/groupby/ops.py, - pandas/core/groupby/categorical.py, - pandas/core/groupby/generic.py, - pandas/core/groupby/groupby.py, - pandas/core/groupby/grouper.py, - pandas/core/groupby/base.py, pandas/core/reshape/concat.py, pandas/core/reshape/tile.py, pandas/core/reshape/melt.py,