diff --git a/pandas/core/arrays/_mixins.py b/pandas/core/arrays/_mixins.py index 2976747d66dfa..4e96685ba77df 100644 --- a/pandas/core/arrays/_mixins.py +++ b/pandas/core/arrays/_mixins.py @@ -17,7 +17,9 @@ class NDArrayBackedExtensionArray(ExtensionArray): ExtensionArray that is backed by a single NumPy ndarray. """ - _ndarray: np.ndarray + @property + def _ndarray(self) -> np.ndarray: + raise AbstractMethodError(self) def _from_backing_data(self: _T, arr: np.ndarray) -> _T: """ diff --git a/pandas/core/arrays/numpy_.py b/pandas/core/arrays/numpy_.py index 23a4a70734c81..c999e8caf2d9a 100644 --- a/pandas/core/arrays/numpy_.py +++ b/pandas/core/arrays/numpy_.py @@ -153,7 +153,6 @@ class PandasArray( # pandas internals, which turns off things like block consolidation. _typ = "npy_extension" __array_priority__ = 1000 - _ndarray: np.ndarray # ------------------------------------------------------------------------ # Constructors @@ -172,9 +171,13 @@ def __init__(self, values: Union[np.ndarray, "PandasArray"], copy: bool = False) if copy: values = values.copy() - self._ndarray = values + self._data = values self._dtype = PandasDtype(values.dtype) + @property + def _ndarray(self) -> np.ndarray: + return self._data + @classmethod def _from_sequence(cls, scalars, dtype=None, copy: bool = False) -> "PandasArray": if isinstance(dtype, PandasDtype): diff --git a/pandas/core/tools/datetimes.py b/pandas/core/tools/datetimes.py index 8fcc5f74ea897..929fd0dc334c8 100644 --- a/pandas/core/tools/datetimes.py +++ b/pandas/core/tools/datetimes.py @@ -550,7 +550,8 @@ def _adjust_to_origin(arg, origin, unit): @overload -def to_datetime( +# error: Overloaded function signatures 1 and 3 overlap with incompatible return types +def to_datetime( # type: ignore[misc] arg: DatetimeScalar, errors: str = ..., dayfirst: bool = ..., @@ -567,7 +568,8 @@ def to_datetime( @overload -def to_datetime( +# error: Overloaded function signatures 2 and 3 overlap with incompatible return types +def to_datetime( # type: ignore[misc] arg: "Series", errors: str = ..., dayfirst: bool = ..., @@ -585,7 +587,7 @@ def to_datetime( @overload def to_datetime( - arg: Union[List, Tuple], + arg: Union[List, Tuple, ArrayLike], errors: str = ..., dayfirst: bool = ..., yearfirst: bool = ..., diff --git a/pandas/plotting/_matplotlib/tools.py b/pandas/plotting/_matplotlib/tools.py index 98aaab6838fba..71b708b6520d8 100644 --- a/pandas/plotting/_matplotlib/tools.py +++ b/pandas/plotting/_matplotlib/tools.py @@ -351,7 +351,7 @@ def handle_shared_axes( _remove_labels_from_axis(ax.yaxis) -def flatten_axes(axes: Union["Axes", Sequence["Axes"]]) -> Sequence["Axes"]: +def flatten_axes(axes: Union["Axes", Sequence["Axes"]]) -> np.ndarray: if not is_list_like(axes): return np.array([axes]) elif isinstance(axes, (np.ndarray, ABCIndexClass)):