diff --git a/pandas/core/algorithms.py b/pandas/core/algorithms.py index 9ff8ba7bb23d2..ecdad8752113a 100644 --- a/pandas/core/algorithms.py +++ b/pandas/core/algorithms.py @@ -3,40 +3,31 @@ intended for public consumption """ from __future__ import division -from warnings import warn, catch_warnings, simplefilter + from textwrap import dedent +from warnings import catch_warnings, simplefilter, warn import numpy as np +from pandas._libs import algos, hashtable as htable, lib +from pandas._libs.tslib import iNaT +from pandas.util._decorators import Appender, Substitution, deprecate_kwarg + from pandas.core.dtypes.cast import ( - maybe_promote, construct_1d_object_array_from_listlike) -from pandas.core.dtypes.generic import ( - ABCSeries, ABCIndex, - ABCIndexClass) + construct_1d_object_array_from_listlike, maybe_promote) from pandas.core.dtypes.common import ( - is_array_like, - is_unsigned_integer_dtype, is_signed_integer_dtype, - is_integer_dtype, is_complex_dtype, - is_object_dtype, - is_extension_array_dtype, - is_categorical_dtype, is_sparse, - is_period_dtype, - is_numeric_dtype, is_float_dtype, - is_bool_dtype, needs_i8_conversion, - is_datetimetz, - is_datetime64_any_dtype, is_datetime64tz_dtype, - is_timedelta64_dtype, is_datetimelike, - is_interval_dtype, is_scalar, is_list_like, - ensure_platform_int, ensure_object, - ensure_float64, ensure_uint64, - ensure_int64) + ensure_float64, ensure_int64, ensure_object, ensure_platform_int, + ensure_uint64, is_array_like, is_bool_dtype, is_categorical_dtype, + is_complex_dtype, is_datetime64_any_dtype, is_datetime64tz_dtype, + is_datetimelike, is_datetimetz, is_extension_array_dtype, is_float_dtype, + is_integer_dtype, is_interval_dtype, is_list_like, is_numeric_dtype, + is_object_dtype, is_period_dtype, is_scalar, is_signed_integer_dtype, + is_sparse, is_timedelta64_dtype, is_unsigned_integer_dtype, + needs_i8_conversion) +from pandas.core.dtypes.generic import ABCIndex, ABCIndexClass, ABCSeries from pandas.core.dtypes.missing import isna, na_value_for_dtype from pandas.core import common as com -from pandas._libs import algos, lib, hashtable as htable -from pandas._libs.tslib import iNaT -from pandas.util._decorators import (Appender, Substitution, - deprecate_kwarg) _shared_docs = {} diff --git a/pandas/core/apply.py b/pandas/core/apply.py index 40cd952a62138..c44e64d29ed26 100644 --- a/pandas/core/apply.py +++ b/pandas/core/apply.py @@ -1,15 +1,15 @@ import warnings + import numpy as np -from pandas import compat + from pandas._libs import reduction -from pandas.core.dtypes.generic import ABCSeries -from pandas.core.dtypes.common import ( - is_extension_type, - is_dict_like, - is_list_like, - is_sequence) +import pandas.compat as compat from pandas.util._decorators import cache_readonly +from pandas.core.dtypes.common import ( + is_dict_like, is_extension_type, is_list_like, is_sequence) +from pandas.core.dtypes.generic import ABCSeries + from pandas.io.formats.printing import pprint_thing diff --git a/pandas/core/base.py b/pandas/core/base.py index 9dc4237bdcd2d..fd303182959a5 100644 --- a/pandas/core/base.py +++ b/pandas/core/base.py @@ -1,32 +1,28 @@ """ Base and utility classes for pandas objects. """ -import warnings import textwrap -from pandas import compat -from pandas.compat import builtins -import numpy as np +import warnings -from pandas.core.dtypes.missing import isna -from pandas.core.dtypes.generic import ABCDataFrame, ABCSeries, ABCIndexClass -from pandas.core.dtypes.common import ( - is_datetimelike, - is_object_dtype, - is_list_like, - is_scalar, - is_extension_type, - is_extension_array_dtype) +import numpy as np -from pandas.util._validators import validate_bool_kwarg -from pandas.errors import AbstractMethodError -from pandas.core import common as com, algorithms -import pandas.core.nanops as nanops import pandas._libs.lib as lib +import pandas.compat as compat +from pandas.compat import PYPY, OrderedDict, builtins from pandas.compat.numpy import function as nv -from pandas.compat import PYPY, OrderedDict -from pandas.util._decorators import Appender, cache_readonly, Substitution +from pandas.errors import AbstractMethodError +from pandas.util._decorators import Appender, Substitution, cache_readonly +from pandas.util._validators import validate_bool_kwarg +from pandas.core.dtypes.common import ( + is_datetimelike, is_extension_array_dtype, is_extension_type, is_list_like, + is_object_dtype, is_scalar) +from pandas.core.dtypes.generic import ABCDataFrame, ABCIndexClass, ABCSeries +from pandas.core.dtypes.missing import isna + +from pandas.core import algorithms, common as com from pandas.core.accessor import DirNamesMixin +import pandas.core.nanops as nanops _shared_docs = dict() _indexops_doc_kwargs = dict(klass='IndexOpsMixin', inplace='', diff --git a/pandas/core/categorical.py b/pandas/core/categorical.py index 530a3ecb5f378..43c35c4000bb6 100644 --- a/pandas/core/categorical.py +++ b/pandas/core/categorical.py @@ -1,8 +1,9 @@ import warnings +from pandas.core.dtypes.dtypes import CategoricalDtype # noqa + +from pandas.core.arrays import Categorical # noqa + # TODO: Remove after 0.23.x warnings.warn("'pandas.core' is private. Use 'pandas.Categorical'", FutureWarning, stacklevel=2) - -from pandas.core.arrays import Categorical # noqa -from pandas.core.dtypes.dtypes import CategoricalDtype # noqa diff --git a/pandas/core/common.py b/pandas/core/common.py index 0a82dd8636888..b4de0daa13b16 100644 --- a/pandas/core/common.py +++ b/pandas/core/common.py @@ -4,25 +4,23 @@ Note: pandas.core.common is *not* part of the public API. """ +import collections from datetime import datetime, timedelta from functools import partial import inspect -import collections import numpy as np + from pandas._libs import lib, tslibs +import pandas.compat as compat +from pandas.compat import PY36, OrderedDict, iteritems -from pandas import compat -from pandas.compat import iteritems, PY36, OrderedDict -from pandas.core.dtypes.generic import ( - ABCSeries, ABCIndex, ABCIndexClass -) +from pandas.core.dtypes.cast import construct_1d_object_array_from_listlike from pandas.core.dtypes.common import ( - is_integer, is_bool_dtype, is_extension_array_dtype, is_array_like -) + is_array_like, is_bool_dtype, is_extension_array_dtype, is_integer) +from pandas.core.dtypes.generic import ABCIndex, ABCIndexClass, ABCSeries from pandas.core.dtypes.inference import _iterable_not_string from pandas.core.dtypes.missing import isna, isnull, notnull # noqa -from pandas.core.dtypes.cast import construct_1d_object_array_from_listlike class SettingWithCopyError(ValueError): diff --git a/pandas/core/config.py b/pandas/core/config.py index f178600b74626..f4757bfd8069c 100644 --- a/pandas/core/config.py +++ b/pandas/core/config.py @@ -48,13 +48,13 @@ """ -import re - from collections import namedtuple from contextlib import contextmanager +import re import warnings -from pandas.compat import map, lmap, u + import pandas.compat as compat +from pandas.compat import lmap, map, u DeprecatedOption = namedtuple('DeprecatedOption', 'key msg rkey removal_ver') RegisteredOption = namedtuple('RegisteredOption', diff --git a/pandas/core/config_init.py b/pandas/core/config_init.py index b836a35b8cf29..d42a1ab72b156 100644 --- a/pandas/core/config_init.py +++ b/pandas/core/config_init.py @@ -10,8 +10,10 @@ """ import pandas.core.config as cf -from pandas.core.config import (is_int, is_bool, is_text, is_instance_factory, - is_one_of_factory, is_callable) +from pandas.core.config import ( + is_bool, is_callable, is_instance_factory, is_int, is_one_of_factory, + is_text) + from pandas.io.formats.console import detect_console_encoding from pandas.io.formats.terminal import is_terminal diff --git a/pandas/core/generic.py b/pandas/core/generic.py index 5bb364e1d1605..9f6addb74f8da 100644 --- a/pandas/core/generic.py +++ b/pandas/core/generic.py @@ -1,64 +1,52 @@ # pylint: disable=W0231,E1101 import collections import functools -import warnings -import operator -import weakref import gc import json +import operator +import warnings +import weakref import numpy as np -import pandas as pd -from pandas._libs import properties, Timestamp, iNaT +from pandas._libs import Timestamp, iNaT, properties +import pandas.compat as compat +from pandas.compat import ( + cPickle as pkl, isidentifier, lrange, lzip, map, set_function_name, + string_types, to_str, zip) +from pandas.compat.numpy import function as nv from pandas.errors import AbstractMethodError +from pandas.util._decorators import ( + Appender, Substitution, rewrite_axis_style_signature) +from pandas.util._validators import validate_bool_kwarg, validate_fillna_kwargs -from pandas.core.dtypes.common import ( - ensure_int64, - ensure_object, - is_scalar, - is_number, - is_integer, is_bool, - is_bool_dtype, - is_numeric_dtype, - is_datetime64_any_dtype, - is_timedelta64_dtype, - is_datetime64tz_dtype, - is_list_like, - is_dict_like, - is_re_compilable, - is_period_arraylike, - is_object_dtype, - is_extension_array_dtype, - pandas_dtype) from pandas.core.dtypes.cast import maybe_promote, maybe_upcast_putmask +from pandas.core.dtypes.common import ( + ensure_int64, ensure_object, is_bool, is_bool_dtype, + is_datetime64_any_dtype, is_datetime64tz_dtype, is_dict_like, + is_extension_array_dtype, is_integer, is_list_like, is_number, + is_numeric_dtype, is_object_dtype, is_period_arraylike, is_re_compilable, + is_scalar, is_timedelta64_dtype, pandas_dtype) +from pandas.core.dtypes.generic import ABCDataFrame, ABCPanel, ABCSeries from pandas.core.dtypes.inference import is_hashable from pandas.core.dtypes.missing import isna, notna -from pandas.core.dtypes.generic import ABCSeries, ABCPanel, ABCDataFrame +import pandas as pd +from pandas.core import config, missing, nanops +import pandas.core.algorithms as algos from pandas.core.base import PandasObject, SelectionMixin -from pandas.core.index import (Index, MultiIndex, ensure_index, - InvalidIndexError, RangeIndex) -import pandas.core.indexing as indexing +import pandas.core.common as com +from pandas.core.index import ( + Index, InvalidIndexError, MultiIndex, RangeIndex, ensure_index) from pandas.core.indexes.datetimes import DatetimeIndex -from pandas.core.indexes.period import PeriodIndex, Period +from pandas.core.indexes.period import Period, PeriodIndex +import pandas.core.indexing as indexing from pandas.core.internals import BlockManager -import pandas.core.algorithms as algos -import pandas.core.common as com -import pandas.core.missing as missing +from pandas.core.ops import _align_method_FRAME + +from pandas.io.formats.format import DataFrameFormatter, format_percentiles from pandas.io.formats.printing import pprint_thing -from pandas.io.formats.format import format_percentiles, DataFrameFormatter from pandas.tseries.frequencies import to_offset -from pandas import compat -from pandas.compat.numpy import function as nv -from pandas.compat import (map, zip, lzip, lrange, string_types, to_str, - isidentifier, set_function_name, cPickle as pkl) -from pandas.core.ops import _align_method_FRAME -import pandas.core.nanops as nanops -from pandas.util._decorators import (Appender, Substitution, - rewrite_axis_style_signature) -from pandas.util._validators import validate_bool_kwarg, validate_fillna_kwargs -from pandas.core import config # goal is to be able to define the docs close to function, while still being # able to share diff --git a/pandas/core/indexes/accessors.py b/pandas/core/indexes/accessors.py index c3b94c297652a..6138f73726e0a 100644 --- a/pandas/core/indexes/accessors.py +++ b/pandas/core/indexes/accessors.py @@ -3,20 +3,18 @@ """ import numpy as np -from pandas.core.dtypes.generic import ABCSeries from pandas.core.dtypes.common import ( - is_period_arraylike, - is_datetime_arraylike, is_integer_dtype, - is_datetime64_dtype, is_datetime64tz_dtype, - is_timedelta64_dtype, is_categorical_dtype, - is_list_like) + is_categorical_dtype, is_datetime64_dtype, is_datetime64tz_dtype, + is_datetime_arraylike, is_integer_dtype, is_list_like, is_period_arraylike, + is_timedelta64_dtype) +from pandas.core.dtypes.generic import ABCSeries from pandas.core.accessor import PandasDelegate, delegate_names +from pandas.core.algorithms import take_1d from pandas.core.base import NoNewAttributesMixin, PandasObject from pandas.core.indexes.datetimes import DatetimeIndex from pandas.core.indexes.period import PeriodArray from pandas.core.indexes.timedeltas import TimedeltaIndex -from pandas.core.algorithms import take_1d class Properties(PandasDelegate, PandasObject, NoNewAttributesMixin): diff --git a/pandas/core/indexes/api.py b/pandas/core/indexes/api.py index fb090c0fd83ba..6299fc482d0df 100644 --- a/pandas/core/indexes/api.py +++ b/pandas/core/indexes/api.py @@ -1,23 +1,21 @@ import textwrap import warnings -from pandas.core.indexes.base import (Index, - _new_Index, - ensure_index, - ensure_index_from_sequences, - InvalidIndexError) # noqa -from pandas.core.indexes.category import CategoricalIndex # noqa -from pandas.core.indexes.multi import MultiIndex # noqa -from pandas.core.indexes.interval import IntervalIndex # noqa -from pandas.core.indexes.numeric import (NumericIndex, Float64Index, # noqa - Int64Index, UInt64Index) -from pandas.core.indexes.range import RangeIndex # noqa -from pandas.core.indexes.timedeltas import TimedeltaIndex -from pandas.core.indexes.period import PeriodIndex -from pandas.core.indexes.datetimes import DatetimeIndex +from pandas._libs import NaT, lib import pandas.core.common as com -from pandas._libs import lib, NaT +from pandas.core.indexes.base import ( + Index, _new_Index, ensure_index, ensure_index_from_sequences) +from pandas.core.indexes.base import InvalidIndexError # noqa:F401 +from pandas.core.indexes.category import CategoricalIndex # noqa:F401 +from pandas.core.indexes.datetimes import DatetimeIndex +from pandas.core.indexes.interval import IntervalIndex # noqa:F401 +from pandas.core.indexes.multi import MultiIndex # noqa:F401 +from pandas.core.indexes.numeric import ( # noqa:F401 + Float64Index, Int64Index, NumericIndex, UInt64Index) +from pandas.core.indexes.period import PeriodIndex +from pandas.core.indexes.range import RangeIndex # noqa:F401 +from pandas.core.indexes.timedeltas import TimedeltaIndex _sort_msg = textwrap.dedent("""\ Sorting because non-concatenation axis is not aligned. A future version diff --git a/pandas/core/indexes/base.py b/pandas/core/indexes/base.py index 93af7b9933782..29fb541991389 100644 --- a/pandas/core/indexes/base.py +++ b/pandas/core/indexes/base.py @@ -1,69 +1,50 @@ from datetime import datetime, timedelta -import warnings import operator from textwrap import dedent +import warnings import numpy as np -from pandas._libs import (lib, index as libindex, tslibs, - algos as libalgos, join as libjoin, - Timedelta) -from pandas._libs.lib import is_datetime_array -from pandas.compat import range, u, set_function_name +from pandas._libs import ( + Timedelta, algos as libalgos, index as libindex, join as libjoin, lib, + tslibs) +from pandas._libs.lib import is_datetime_array +import pandas.compat as compat +from pandas.compat import range, set_function_name, u from pandas.compat.numpy import function as nv -from pandas import compat +from pandas.util._decorators import Appender, Substitution, cache_readonly -from pandas.core.accessor import CachedAccessor -from pandas.core.arrays import ExtensionArray -from pandas.core.dtypes.generic import ( - ABCSeries, ABCDataFrame, - ABCMultiIndex, - ABCPeriodIndex, ABCTimedeltaIndex, ABCDatetimeIndex, - ABCDateOffset, ABCIndexClass, ABCTimedeltaArray) -from pandas.core.dtypes.missing import isna, array_equivalent from pandas.core.dtypes.cast import maybe_cast_to_integer_array from pandas.core.dtypes.common import ( - ensure_int64, - ensure_object, - ensure_categorical, - ensure_platform_int, - is_integer, - is_float, - is_dtype_equal, - is_dtype_union_equal, - is_object_dtype, - is_categorical, - is_categorical_dtype, - is_interval_dtype, - is_period_dtype, - is_bool, - is_bool_dtype, - is_signed_integer_dtype, - is_unsigned_integer_dtype, - is_integer_dtype, is_float_dtype, - is_datetime64_any_dtype, - is_datetime64tz_dtype, - is_timedelta64_dtype, - is_extension_array_dtype, - is_hashable, - is_iterator, is_list_like, - is_scalar) - -from pandas.core.base import PandasObject, IndexOpsMixin -import pandas.core.common as com + ensure_categorical, ensure_int64, ensure_object, ensure_platform_int, + is_bool, is_bool_dtype, is_categorical, is_categorical_dtype, + is_datetime64_any_dtype, is_datetime64tz_dtype, is_dtype_equal, + is_dtype_union_equal, is_extension_array_dtype, is_float, is_float_dtype, + is_hashable, is_integer, is_integer_dtype, is_interval_dtype, is_iterator, + is_list_like, is_object_dtype, is_period_dtype, is_scalar, + is_signed_integer_dtype, is_timedelta64_dtype, is_unsigned_integer_dtype) +import pandas.core.dtypes.concat as _concat +from pandas.core.dtypes.generic import ( + ABCDataFrame, ABCDateOffset, ABCDatetimeIndex, ABCIndexClass, + ABCMultiIndex, ABCPeriodIndex, ABCSeries, ABCTimedeltaArray, + ABCTimedeltaIndex) +from pandas.core.dtypes.missing import array_equivalent, isna + from pandas.core import ops -from pandas.util._decorators import ( - Appender, Substitution, cache_readonly) +from pandas.core.accessor import CachedAccessor +import pandas.core.algorithms as algos +from pandas.core.arrays import ExtensionArray +from pandas.core.base import IndexOpsMixin, PandasObject +import pandas.core.common as com from pandas.core.indexes.frozen import FrozenList -import pandas.core.dtypes.concat as _concat import pandas.core.missing as missing -import pandas.core.algorithms as algos +from pandas.core.ops import get_op_result_name, make_invalid_op import pandas.core.sorting as sorting -from pandas.io.formats.printing import ( - pprint_thing, default_pprint, format_object_summary, format_object_attrs) -from pandas.core.ops import make_invalid_op, get_op_result_name from pandas.core.strings import StringMethods +from pandas.io.formats.printing import ( + default_pprint, format_object_attrs, format_object_summary, pprint_thing) + __all__ = ['Index'] _unsortable_types = frozenset(('mixed', 'mixed-integer')) diff --git a/pandas/core/indexes/category.py b/pandas/core/indexes/category.py index 6e2f0b00fcd6e..86269c7795d35 100644 --- a/pandas/core/indexes/category.py +++ b/pandas/core/indexes/category.py @@ -2,31 +2,28 @@ import warnings import numpy as np -from pandas._libs import index as libindex -from pandas import compat +from pandas._libs import index as libindex +import pandas.compat as compat from pandas.compat.numpy import function as nv -from pandas.core.dtypes.generic import ABCCategorical, ABCSeries -from pandas.core.dtypes.dtypes import CategoricalDtype +from pandas.util._decorators import Appender, cache_readonly + from pandas.core.dtypes.common import ( - is_categorical_dtype, - ensure_platform_int, - is_list_like, - is_interval_dtype, + ensure_platform_int, is_categorical_dtype, is_interval_dtype, is_list_like, is_scalar) +from pandas.core.dtypes.dtypes import CategoricalDtype +from pandas.core.dtypes.generic import ABCCategorical, ABCSeries from pandas.core.dtypes.missing import array_equivalent, isna -from pandas.core.algorithms import take_1d - -from pandas.util._decorators import Appender, cache_readonly -from pandas.core.config import get_option -from pandas.core.indexes.base import Index, _index_shared_docs from pandas.core import accessor +from pandas.core.algorithms import take_1d +from pandas.core.arrays.categorical import Categorical, contains import pandas.core.common as com -import pandas.core.missing as missing +from pandas.core.config import get_option import pandas.core.indexes.base as ibase +from pandas.core.indexes.base import Index, _index_shared_docs +import pandas.core.missing as missing from pandas.core.ops import get_op_result_name -from pandas.core.arrays.categorical import Categorical, contains _index_doc_kwargs = dict(ibase._index_doc_kwargs) _index_doc_kwargs.update(dict(target_klass='CategoricalIndex')) diff --git a/pandas/core/indexes/frozen.py b/pandas/core/indexes/frozen.py index cb145dd9eed4d..46731069d88b8 100644 --- a/pandas/core/indexes/frozen.py +++ b/pandas/core/indexes/frozen.py @@ -9,10 +9,15 @@ """ import warnings + import numpy as np -from pandas.core.base import PandasObject + from pandas.util._decorators import deprecate_kwarg + from pandas.core.dtypes.cast import coerce_indexer_dtype + +from pandas.core.base import PandasObject + from pandas.io.formats.printing import pprint_thing diff --git a/pandas/core/indexes/interval.py b/pandas/core/indexes/interval.py index c64a179a299e9..1ebcf213ab0eb 100644 --- a/pandas/core/indexes/interval.py +++ b/pandas/core/indexes/interval.py @@ -4,49 +4,35 @@ import numpy as np +from pandas._libs import Timedelta, Timestamp +from pandas._libs.interval import Interval, IntervalMixin, IntervalTree from pandas.compat import add_metaclass -from pandas.core.dtypes.missing import isna +from pandas.util._decorators import Appender, cache_readonly +from pandas.util._doctools import _WritableDoc +from pandas.util._exceptions import rewrite_exception + from pandas.core.dtypes.cast import ( - find_common_type, maybe_downcast_to_dtype, infer_dtype_from_scalar) + find_common_type, infer_dtype_from_scalar, maybe_downcast_to_dtype) from pandas.core.dtypes.common import ( - ensure_platform_int, - is_list_like, - is_datetime_or_timedelta_dtype, - is_datetime64tz_dtype, - is_dtype_equal, - is_integer_dtype, - is_float_dtype, - is_interval_dtype, - is_object_dtype, - is_scalar, - is_float, - is_number, - is_integer) -from pandas.core.indexes.base import ( - Index, ensure_index, - default_pprint, _index_shared_docs) -from pandas.core.ops import get_op_result_name - -from pandas._libs import Timestamp, Timedelta -from pandas._libs.interval import ( - Interval, IntervalMixin, IntervalTree, -) + ensure_platform_int, is_datetime64tz_dtype, is_datetime_or_timedelta_dtype, + is_dtype_equal, is_float, is_float_dtype, is_integer, is_integer_dtype, + is_interval_dtype, is_list_like, is_number, is_object_dtype, is_scalar) +from pandas.core.dtypes.missing import isna -from pandas.core.indexes.datetimes import date_range, DatetimeIndex -from pandas.core.indexes.timedeltas import timedelta_range, TimedeltaIndex -from pandas.core.indexes.multi import MultiIndex +from pandas.core.arrays.interval import IntervalArray, _interval_shared_docs import pandas.core.common as com -from pandas.util._decorators import cache_readonly, Appender -from pandas.util._doctools import _WritableDoc -from pandas.util._exceptions import rewrite_exception from pandas.core.config import get_option +import pandas.core.indexes.base as ibase +from pandas.core.indexes.base import ( + Index, _index_shared_docs, default_pprint, ensure_index) +from pandas.core.indexes.datetimes import DatetimeIndex, date_range +from pandas.core.indexes.multi import MultiIndex +from pandas.core.indexes.timedeltas import TimedeltaIndex, timedelta_range +from pandas.core.ops import get_op_result_name + from pandas.tseries.frequencies import to_offset from pandas.tseries.offsets import DateOffset -import pandas.core.indexes.base as ibase -from pandas.core.arrays.interval import (IntervalArray, - _interval_shared_docs) - _VALID_CLOSED = {'left', 'right', 'both', 'neither'} _index_doc_kwargs = dict(ibase._index_doc_kwargs) diff --git a/pandas/core/indexes/multi.py b/pandas/core/indexes/multi.py index 619e1ae866a1b..0e3fd201d8ddb 100644 --- a/pandas/core/indexes/multi.py +++ b/pandas/core/indexes/multi.py @@ -1,47 +1,37 @@ # pylint: disable=E1101,E1103,W0232 import datetime -import warnings from sys import getsizeof +import warnings import numpy as np -from pandas._libs import algos as libalgos, index as libindex, lib, Timestamp -from pandas._libs import tslibs -from pandas.compat import range, zip, lrange, lzip, map +from pandas._libs import ( + Timestamp, algos as libalgos, index as libindex, lib, tslibs) +import pandas.compat as compat +from pandas.compat import lrange, lzip, map, range, zip from pandas.compat.numpy import function as nv -from pandas import compat +from pandas.errors import PerformanceWarning, UnsortedIndexError +from pandas.util._decorators import Appender, cache_readonly -from pandas.core.dtypes.dtypes import ( - ExtensionDtype, PandasExtensionDtype) from pandas.core.dtypes.common import ( - ensure_int64, - ensure_platform_int, - is_categorical_dtype, - is_object_dtype, - is_hashable, - is_integer, - is_iterator, - is_list_like, - pandas_dtype, - is_scalar) -from pandas.core.dtypes.missing import isna, array_equivalent -from pandas.errors import PerformanceWarning, UnsortedIndexError + ensure_int64, ensure_platform_int, is_categorical_dtype, is_hashable, + is_integer, is_iterator, is_list_like, is_object_dtype, is_scalar, + pandas_dtype) +from pandas.core.dtypes.dtypes import ExtensionDtype, PandasExtensionDtype +from pandas.core.dtypes.missing import array_equivalent, isna -from pandas.util._decorators import Appender, cache_readonly -import pandas.core.common as com -import pandas.core.missing as missing import pandas.core.algorithms as algos -from pandas.io.formats.printing import pprint_thing - +import pandas.core.common as com from pandas.core.config import get_option - +import pandas.core.indexes.base as ibase from pandas.core.indexes.base import ( - Index, ensure_index, - InvalidIndexError, - _index_shared_docs) + Index, InvalidIndexError, _index_shared_docs, ensure_index) from pandas.core.indexes.frozen import FrozenList, _ensure_frozen -import pandas.core.indexes.base as ibase +import pandas.core.missing as missing + +from pandas.io.formats.printing import pprint_thing + _index_doc_kwargs = dict(ibase._index_doc_kwargs) _index_doc_kwargs.update( dict(klass='MultiIndex', diff --git a/pandas/core/indexes/numeric.py b/pandas/core/indexes/numeric.py index 23b2dde2e6494..491176bc586a8 100644 --- a/pandas/core/indexes/numeric.py +++ b/pandas/core/indexes/numeric.py @@ -1,26 +1,22 @@ import warnings import numpy as np + from pandas._libs import index as libindex +import pandas.compat as compat +from pandas.util._decorators import Appender, cache_readonly + from pandas.core.dtypes.common import ( - is_dtype_equal, - pandas_dtype, - needs_i8_conversion, - is_integer_dtype, - is_float, - is_bool, - is_bool_dtype, - is_scalar) + is_bool, is_bool_dtype, is_dtype_equal, is_float, is_integer_dtype, + is_scalar, needs_i8_conversion, pandas_dtype) +import pandas.core.dtypes.concat as _concat from pandas.core.dtypes.missing import isna -from pandas import compat from pandas.core import algorithms import pandas.core.common as com +import pandas.core.indexes.base as ibase from pandas.core.indexes.base import ( Index, InvalidIndexError, _index_shared_docs) -from pandas.util._decorators import Appender, cache_readonly -import pandas.core.dtypes.concat as _concat -import pandas.core.indexes.base as ibase from pandas.core.ops import get_op_result_name _num_index_shared_docs = dict() diff --git a/pandas/core/indexes/period.py b/pandas/core/indexes/period.py index f83687bacd72d..fec3a9bd24cc8 100644 --- a/pandas/core/indexes/period.py +++ b/pandas/core/indexes/period.py @@ -1,49 +1,40 @@ # pylint: disable=E1101,E1103,W0232 from datetime import datetime, timedelta -import numpy as np import operator import warnings -from pandas.core import common as com -from pandas.core.dtypes.common import ( - is_integer, - is_float, - is_float_dtype, - is_integer_dtype, - is_datetime64_any_dtype, - is_bool_dtype, - pandas_dtype -) -from pandas.core.ops import get_op_result_name -from pandas.core.accessor import PandasDelegate, delegate_names -from pandas.core.indexes.datetimes import DatetimeIndex, Int64Index, Index -from pandas.core.indexes.datetimelike import ( - DatelikeOps, DatetimeIndexOpsMixin, wrap_arithmetic_op -) -from pandas.core.tools.datetimes import parse_time_string, DateParseError +import numpy as np from pandas._libs import index as libindex -from pandas._libs.tslibs.period import (Period, IncompatibleFrequency, - DIFFERENT_FREQ_INDEX) +from pandas._libs.tslibs import NaT, iNaT, resolution +from pandas._libs.tslibs.period import ( + DIFFERENT_FREQ_INDEX, IncompatibleFrequency, Period) +from pandas.util._decorators import ( + Appender, Substitution, cache_readonly, deprecate_kwarg) -from pandas._libs.tslibs import resolution, NaT, iNaT +from pandas.core.dtypes.common import ( + is_bool_dtype, is_datetime64_any_dtype, is_float, is_float_dtype, + is_integer, is_integer_dtype, pandas_dtype) +from pandas import compat +from pandas.core import common as com +from pandas.core.accessor import PandasDelegate, delegate_names from pandas.core.algorithms import unique1d import pandas.core.arrays.datetimelike as dtl from pandas.core.arrays.period import PeriodArray, period_array from pandas.core.base import _shared_docs +import pandas.core.indexes.base as ibase from pandas.core.indexes.base import _index_shared_docs, ensure_index +from pandas.core.indexes.datetimelike import ( + DatelikeOps, DatetimeIndexOpsMixin, wrap_arithmetic_op) +from pandas.core.indexes.datetimes import DatetimeIndex, Index, Int64Index from pandas.core.missing import isna +from pandas.core.ops import get_op_result_name +from pandas.core.tools.datetimes import DateParseError, parse_time_string -from pandas import compat -from pandas.util._decorators import ( - Appender, Substitution, cache_readonly, deprecate_kwarg -) - -from pandas.tseries.offsets import Tick, DateOffset from pandas.tseries import frequencies +from pandas.tseries.offsets import DateOffset, Tick -import pandas.core.indexes.base as ibase _index_doc_kwargs = dict(ibase._index_doc_kwargs) _index_doc_kwargs.update( dict(target_klass='PeriodIndex or list of Periods')) diff --git a/pandas/core/indexing.py b/pandas/core/indexing.py index 8ed181381f668..cfa451db866be 100755 --- a/pandas/core/indexing.py +++ b/pandas/core/indexing.py @@ -3,25 +3,18 @@ import warnings import numpy as np -from pandas._libs.indexing import _NDFrameIndexerBase -from pandas.util._decorators import Appender - -from pandas.errors import AbstractMethodError +from pandas._libs.indexing import _NDFrameIndexerBase import pandas.compat as compat from pandas.compat import range, zip +from pandas.errors import AbstractMethodError +from pandas.util._decorators import Appender from pandas.core.dtypes.common import ( - is_integer_dtype, - is_integer, is_float, - is_list_like, - is_sequence, - is_iterator, - is_scalar, - is_sparse, - ensure_platform_int) + ensure_platform_int, is_float, is_integer, is_integer_dtype, is_iterator, + is_list_like, is_scalar, is_sequence, is_sparse) from pandas.core.dtypes.generic import ABCDataFrame, ABCPanel, ABCSeries -from pandas.core.dtypes.missing import isna, _infer_fill_value +from pandas.core.dtypes.missing import _infer_fill_value, isna import pandas.core.common as com from pandas.core.index import Index, MultiIndex diff --git a/pandas/core/missing.py b/pandas/core/missing.py index 222873cd7f81a..1012639fe0f9d 100644 --- a/pandas/core/missing.py +++ b/pandas/core/missing.py @@ -1,26 +1,19 @@ """ Routines for filling missing data """ +from distutils.version import LooseVersion import operator import numpy as np -from distutils.version import LooseVersion from pandas._libs import algos, lib - from pandas.compat import range, string_types -from pandas.core.dtypes.common import ( - is_numeric_v_string_like, - is_float_dtype, - is_datetime64_dtype, - is_datetime64tz_dtype, - is_integer_dtype, - is_scalar, - is_integer, - needs_i8_conversion, - ensure_float64) from pandas.core.dtypes.cast import infer_dtype_from_array +from pandas.core.dtypes.common import ( + ensure_float64, is_datetime64_dtype, is_datetime64tz_dtype, is_float_dtype, + is_integer, is_integer_dtype, is_numeric_v_string_like, is_scalar, + needs_i8_conversion) from pandas.core.dtypes.missing import isna diff --git a/pandas/core/nanops.py b/pandas/core/nanops.py index afba433f0e391..4369ac60a075e 100644 --- a/pandas/core/nanops.py +++ b/pandas/core/nanops.py @@ -1,27 +1,24 @@ +from distutils.version import LooseVersion import functools import itertools import operator import warnings -from distutils.version import LooseVersion import numpy as np -import pandas.core.common as com -from pandas import compat -from pandas._libs import tslibs, lib -from pandas.core.config import get_option +from pandas._libs import lib, tslibs +import pandas.compat as compat + from pandas.core.dtypes.cast import _int64_max, maybe_upcast_putmask from pandas.core.dtypes.common import ( - _get_dtype, - is_float, is_scalar, - is_integer, is_complex, is_float_dtype, - is_complex_dtype, is_integer_dtype, - is_bool_dtype, is_object_dtype, - is_numeric_dtype, - is_datetime64_dtype, is_timedelta64_dtype, - is_datetime_or_timedelta_dtype, - is_int_or_datetime_dtype, is_any_int_dtype) -from pandas.core.dtypes.missing import isna, notna, na_value_for_dtype + _get_dtype, is_any_int_dtype, is_bool_dtype, is_complex, is_complex_dtype, + is_datetime64_dtype, is_datetime_or_timedelta_dtype, is_float, + is_float_dtype, is_int_or_datetime_dtype, is_integer, is_integer_dtype, + is_numeric_dtype, is_object_dtype, is_scalar, is_timedelta64_dtype) +from pandas.core.dtypes.missing import isna, na_value_for_dtype, notna + +import pandas.core.common as com +from pandas.core.config import get_option _BOTTLENECK_INSTALLED = False _MIN_BOTTLENECK_VERSION = '1.0.0' diff --git a/pandas/core/ops.py b/pandas/core/ops.py index 869a1d6e2fb14..2a21593fab8f5 100644 --- a/pandas/core/ops.py +++ b/pandas/core/ops.py @@ -5,50 +5,41 @@ """ # necessary to enforce truediv in Python 2.X from __future__ import division + import datetime import operator import textwrap import warnings import numpy as np -import pandas as pd - -from pandas._libs import lib, algos as libalgos, ops as libops - -from pandas import compat -from pandas.util._decorators import Appender +from pandas._libs import algos as libalgos, lib, ops as libops +import pandas.compat as compat from pandas.compat import bind_method -import pandas.core.missing as missing -import pandas.core.common as com - from pandas.errors import NullFrequencyError -from pandas.core.dtypes.missing import notna, isna -from pandas.core.dtypes.common import ( - needs_i8_conversion, - is_datetimelike_v_numeric, - is_period_dtype, - is_integer_dtype, is_categorical_dtype, - is_object_dtype, is_timedelta64_dtype, - is_datetime64_dtype, is_datetime64tz_dtype, - is_bool_dtype, - is_list_like, - is_scalar, - is_extension_array_dtype, - ensure_object) +from pandas.util._decorators import Appender + from pandas.core.dtypes.cast import ( - maybe_upcast_putmask, find_common_type, - construct_1d_object_array_from_listlike) + construct_1d_object_array_from_listlike, find_common_type, + maybe_upcast_putmask) +from pandas.core.dtypes.common import ( + ensure_object, is_bool_dtype, is_categorical_dtype, is_datetime64_dtype, + is_datetime64tz_dtype, is_datetimelike_v_numeric, is_extension_array_dtype, + is_integer_dtype, is_list_like, is_object_dtype, is_period_dtype, + is_scalar, is_timedelta64_dtype, needs_i8_conversion) from pandas.core.dtypes.generic import ( - ABCSeries, - ABCDataFrame, ABCPanel, - ABCIndex, ABCIndexClass, - ABCSparseSeries, ABCSparseArray) + ABCDataFrame, ABCIndex, ABCIndexClass, ABCPanel, ABCSeries, ABCSparseArray, + ABCSparseSeries) +from pandas.core.dtypes.missing import isna, notna +import pandas as pd +import pandas.core.common as com +import pandas.core.missing as missing # ----------------------------------------------------------------------------- # Ops Wrapping Utilities + def get_op_result_name(left, right): """ Find the appropriate name to pin to an operation result. This result diff --git a/pandas/core/panel.py b/pandas/core/panel.py index 5ae7848b5adc6..bf076b306a9ad 100644 --- a/pandas/core/panel.py +++ b/pandas/core/panel.py @@ -4,36 +4,37 @@ # pylint: disable=E1103,W0231,W0212,W0621 from __future__ import division -import numpy as np import warnings + +import numpy as np + +import pandas.compat as compat +from pandas.compat import OrderedDict, map, range, u, zip +from pandas.compat.numpy import function as nv +from pandas.util._decorators import Appender, Substitution, deprecate_kwarg +from pandas.util._validators import validate_axis_style_args + from pandas.core.dtypes.cast import ( - infer_dtype_from_scalar, - cast_scalar_to_array, - maybe_cast_item) + cast_scalar_to_array, infer_dtype_from_scalar, maybe_cast_item) from pandas.core.dtypes.common import ( - is_integer, is_list_like, - is_string_like, is_scalar) + is_integer, is_list_like, is_scalar, is_string_like) from pandas.core.dtypes.missing import notna -import pandas.core.ops as ops import pandas.core.common as com -import pandas.core.indexes.base as ibase -from pandas import compat -from pandas.compat import (map, zip, range, u, OrderedDict) -from pandas.compat.numpy import function as nv from pandas.core.frame import DataFrame from pandas.core.generic import NDFrame, _shared_docs -from pandas.core.index import (Index, MultiIndex, ensure_index, - _get_objs_combined_axis) -from pandas.io.formats.printing import pprint_thing +from pandas.core.index import ( + Index, MultiIndex, _get_objs_combined_axis, ensure_index) +import pandas.core.indexes.base as ibase from pandas.core.indexing import maybe_droplevels -from pandas.core.internals import (BlockManager, - create_block_manager_from_arrays, - create_block_manager_from_blocks) -from pandas.core.series import Series +from pandas.core.internals import ( + BlockManager, create_block_manager_from_arrays, + create_block_manager_from_blocks) +import pandas.core.ops as ops from pandas.core.reshape.util import cartesian_product -from pandas.util._decorators import Appender, Substitution, deprecate_kwarg -from pandas.util._validators import validate_axis_style_args +from pandas.core.series import Series + +from pandas.io.formats.printing import pprint_thing _shared_doc_kwargs = dict( axes='items, major_axis, minor_axis', diff --git a/pandas/core/resample.py b/pandas/core/resample.py index 26b1e33e9893b..4f0669a568ae7 100644 --- a/pandas/core/resample.py +++ b/pandas/core/resample.py @@ -1,37 +1,37 @@ -from datetime import timedelta -import numpy as np -import warnings import copy +from datetime import timedelta from textwrap import dedent +import warnings + +import numpy as np + +from pandas._libs import lib +from pandas._libs.tslibs import NaT, Timestamp +from pandas._libs.tslibs.period import IncompatibleFrequency +import pandas.compat as compat +from pandas.compat.numpy import function as nv +from pandas.errors import AbstractMethodError +from pandas.util._decorators import Appender, Substitution + +from pandas.core.dtypes.generic import ABCDataFrame, ABCSeries import pandas as pd +import pandas.core.algorithms as algos +from pandas.core.generic import _shared_docs from pandas.core.groupby.base import GroupByMixin -from pandas.core.groupby.ops import BinGrouper +from pandas.core.groupby.generic import PanelGroupBy, SeriesGroupBy from pandas.core.groupby.groupby import ( - _GroupBy, GroupBy, groupby, _pipe_template -) + GroupBy, _GroupBy, _pipe_template, groupby) from pandas.core.groupby.grouper import Grouper -from pandas.core.groupby.generic import SeriesGroupBy, PanelGroupBy - -from pandas.tseries.frequencies import to_offset, is_subperiod, is_superperiod +from pandas.core.groupby.ops import BinGrouper from pandas.core.indexes.datetimes import DatetimeIndex, date_range -from pandas.core.indexes.timedeltas import TimedeltaIndex -from pandas.tseries.offsets import (DateOffset, Tick, Day, - delta_to_nanoseconds, Nano) from pandas.core.indexes.period import PeriodIndex -from pandas.errors import AbstractMethodError -import pandas.core.algorithms as algos -from pandas.core.dtypes.generic import ABCDataFrame, ABCSeries - -import pandas.compat as compat -from pandas.compat.numpy import function as nv +from pandas.core.indexes.timedeltas import TimedeltaIndex -from pandas._libs import lib -from pandas._libs.tslibs import Timestamp, NaT -from pandas._libs.tslibs.period import IncompatibleFrequency +from pandas.tseries.frequencies import is_subperiod, is_superperiod, to_offset +from pandas.tseries.offsets import ( + DateOffset, Day, Nano, Tick, delta_to_nanoseconds) -from pandas.util._decorators import Appender, Substitution -from pandas.core.generic import _shared_docs _shared_docs_kwargs = dict() diff --git a/pandas/core/sorting.py b/pandas/core/sorting.py index ee1c62f3decf9..b34dfddcc66e1 100644 --- a/pandas/core/sorting.py +++ b/pandas/core/sorting.py @@ -1,18 +1,17 @@ """ miscellaneous sorting / groupby utilities """ import numpy as np -from pandas.compat import long, string_types, PY3 -from pandas.core.dtypes.common import ( - ensure_platform_int, - ensure_int64, - is_list_like, - is_categorical_dtype) + +from pandas._libs import algos, hashtable, lib +from pandas._libs.hashtable import unique_label_indices +from pandas.compat import PY3, long, string_types + from pandas.core.dtypes.cast import infer_dtype_from_array +from pandas.core.dtypes.common import ( + ensure_int64, ensure_platform_int, is_categorical_dtype, is_list_like) from pandas.core.dtypes.missing import isna -import pandas.core.algorithms as algorithms -from pandas._libs import lib, algos, hashtable -from pandas._libs.hashtable import unique_label_indices +import pandas.core.algorithms as algorithms _INT64_MAX = np.iinfo(np.int64).max diff --git a/pandas/core/strings.py b/pandas/core/strings.py index 6c21318c93597..0b791f6f91aa3 100644 --- a/pandas/core/strings.py +++ b/pandas/core/strings.py @@ -1,31 +1,26 @@ # -*- coding: utf-8 -*- +import codecs +import re +import textwrap +import warnings + import numpy as np +import pandas._libs.lib as lib +import pandas._libs.ops as libops +import pandas.compat as compat from pandas.compat import zip -from pandas.core.dtypes.generic import ABCSeries, ABCIndex -from pandas.core.dtypes.missing import isna +from pandas.util._decorators import Appender, deprecate_kwarg + from pandas.core.dtypes.common import ( - ensure_object, - is_bool_dtype, - is_categorical_dtype, - is_object_dtype, - is_string_like, - is_list_like, - is_scalar, - is_integer, - is_re) + ensure_object, is_bool_dtype, is_categorical_dtype, is_integer, + is_list_like, is_object_dtype, is_re, is_scalar, is_string_like) +from pandas.core.dtypes.generic import ABCIndex, ABCSeries +from pandas.core.dtypes.missing import isna -import pandas.core.common as com from pandas.core.algorithms import take_1d -import pandas.compat as compat from pandas.core.base import NoNewAttributesMixin -from pandas.util._decorators import Appender, deprecate_kwarg -import re -import pandas._libs.lib as lib -import pandas._libs.ops as libops -import warnings -import textwrap -import codecs +import pandas.core.common as com _cpython_optimized_encoders = ( "utf-8", "utf8", "latin-1", "latin1", "iso-8859-1", "mbcs", "ascii" diff --git a/setup.cfg b/setup.cfg index e8db1308741aa..4027e040cf421 100644 --- a/setup.cfg +++ b/setup.cfg @@ -111,33 +111,8 @@ force_grid_wrap=0 combine_as_imports=True force_sort_within_sections=True skip= - pandas/core/ops.py, - pandas/core/categorical.py, pandas/core/api.py, - pandas/core/indexing.py, - pandas/core/apply.py, - pandas/core/generic.py, - pandas/core/sorting.py, pandas/core/frame.py, - pandas/core/nanops.py, - pandas/core/algorithms.py, - pandas/core/strings.py, - pandas/core/panel.py, - pandas/core/config.py, - pandas/core/resample.py, - pandas/core/base.py, - pandas/core/common.py, - pandas/core/missing.py, - pandas/core/config_init.py, - pandas/core/indexes/category.py, - pandas/core/indexes/api.py, - pandas/core/indexes/numeric.py, - pandas/core/indexes/interval.py, - pandas/core/indexes/multi.py, - pandas/core/indexes/base.py, - pandas/core/indexes/accessors.py, - pandas/core/indexes/period.py, - pandas/core/indexes/frozen.py, pandas/tests/test_errors.py, pandas/tests/test_base.py, pandas/tests/test_register_accessor.py,