Skip to content

REF: implement module for shared constructor functions #27551

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 10 commits into from
Jul 25, 2019
3 changes: 1 addition & 2 deletions pandas/core/algorithms.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@
from pandas.core.dtypes.missing import isna, na_value_for_dtype

from pandas.core import common as com
from pandas.core.construction import array
from pandas.core.indexers import validate_indices

_shared_docs = {} # type: Dict[str, str]
Expand Down Expand Up @@ -1855,8 +1856,6 @@ def searchsorted(arr, value, side="left", sorter=None):
and is_integer_dtype(arr)
and (is_integer(value) or is_integer_dtype(value))
):
from .arrays.array_ import array

# if `arr` and `value` have different dtypes, `arr` would be
# recast by numpy, causing a slow search.
# Before searching below, we therefore try to give `value` the
Expand Down
3 changes: 2 additions & 1 deletion pandas/core/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,8 @@
IntervalDtype,
DatetimeTZDtype,
)
from pandas.core.arrays import Categorical, array
from pandas.core.arrays import Categorical
from pandas.core.construction import array
from pandas.core.groupby import Grouper, NamedAgg
from pandas.io.formats.format import set_eng_float_format
from pandas.core.index import (
Expand Down
1 change: 0 additions & 1 deletion pandas/core/arrays/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
from .array_ import array # noqa: F401
from .base import ( # noqa: F401
ExtensionArray,
ExtensionOpsMixin,
Expand Down
6 changes: 1 addition & 5 deletions pandas/core/arrays/categorical.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@
)
from pandas.core.base import NoNewAttributesMixin, PandasObject, _shared_docs
import pandas.core.common as com
from pandas.core.construction import extract_array, sanitize_array
from pandas.core.missing import interpolate_2d
from pandas.core.sorting import nargsort

Expand Down Expand Up @@ -374,7 +375,6 @@ def __init__(
values = maybe_infer_to_datetimelike(values, convert_dates=True)
if not isinstance(values, np.ndarray):
values = _convert_to_list_like(values)
from pandas.core.internals.construction import sanitize_array

# By convention, empty lists result in object dtype:
if len(values) == 0:
Expand Down Expand Up @@ -2162,8 +2162,6 @@ def __setitem__(self, key, value):
If (one or more) Value is not in categories or if a assigned
`Categorical` does not have the same categories
"""
from pandas.core.internals.arrays import extract_array

value = extract_array(value, extract_numpy=True)

# require identical categories set
Expand Down Expand Up @@ -2526,8 +2524,6 @@ def isin(self, values):
>>> s.isin(['lama'])
array([ True, False, True, False, True, False])
"""
from pandas.core.internals.construction import sanitize_array

if not is_list_like(values):
raise TypeError(
"only list-like objects are allowed to be passed"
Expand Down
3 changes: 1 addition & 2 deletions pandas/core/arrays/numpy_.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
from pandas import compat
from pandas.core import nanops
from pandas.core.algorithms import searchsorted, take, unique
from pandas.core.construction import extract_array
from pandas.core.missing import backfill_1d, pad_1d

from .base import ExtensionArray, ExtensionOpsMixin
Expand Down Expand Up @@ -222,8 +223,6 @@ def __getitem__(self, item):
return result

def __setitem__(self, key, value):
from pandas.core.internals.arrays import extract_array

value = extract_array(value, extract_numpy=True)

if not lib.is_scalar(key) and is_list_like(key):
Expand Down
2 changes: 1 addition & 1 deletion pandas/core/arrays/sparse.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@
from pandas.core.arrays import ExtensionArray, ExtensionOpsMixin
from pandas.core.base import PandasObject
import pandas.core.common as com
from pandas.core.construction import sanitize_array
from pandas.core.missing import interpolate_2d
import pandas.core.ops as ops

Expand Down Expand Up @@ -664,7 +665,6 @@ def __init__(
if not is_array_like(data):
try:
# probably shared code in sanitize_series
from pandas.core.internals.construction import sanitize_array

data = sanitize_array(data, index=None)
except ValueError:
Expand Down
Loading