diff --git a/pandas-stubs/core/construction.pyi b/pandas-stubs/core/construction.pyi index 09c671879..43c85ab25 100644 --- a/pandas-stubs/core/construction.pyi +++ b/pandas-stubs/core/construction.pyi @@ -2,13 +2,6 @@ from collections.abc import Sequence import numpy as np from pandas.core.arrays.base import ExtensionArray -from pandas.core.indexes.api import Index -from pandas.core.series import Series - -from pandas._typing import ( - ArrayLike, - Dtype, -) from pandas.core.dtypes.dtypes import ExtensionDtype @@ -22,12 +15,3 @@ def sanitize_array( data, index, dtype=..., copy: bool = ..., raise_cast_failure: bool = ... ): ... def is_empty_data(data) -> bool: ... -def create_series_with_explicit_dtype( - data=..., - index: ArrayLike | Index | None = ..., - dtype: Dtype | None = ..., - name: str | None = ..., - copy: bool = ..., - fastpath: bool = ..., - dtype_if_empty: Dtype = ..., -) -> Series: ... diff --git a/pandas-stubs/core/frame.pyi b/pandas-stubs/core/frame.pyi index 9528755a2..30b545270 100644 --- a/pandas-stubs/core/frame.pyi +++ b/pandas-stubs/core/frame.pyi @@ -2127,7 +2127,7 @@ class DataFrame(NDFrame, OpsMixin, _GetItemHack): method: _str | FillnaOptions | Literal["nearest"] | None = ..., copy: _bool = ..., limit: int | None = ..., - tolerance=..., + tolerance: Scalar | AnyArrayLike | Sequence[Scalar] = ..., ) -> Self: ... # Rename axis with `mapper`, `axis`, and `inplace=True` @overload diff --git a/pandas-stubs/core/generic.pyi b/pandas-stubs/core/generic.pyi index 7b1c6345b..80eff9aa7 100644 --- a/pandas-stubs/core/generic.pyi +++ b/pandas-stubs/core/generic.pyi @@ -294,14 +294,6 @@ class NDFrame(indexing.IndexingMixin): ) -> _str: ... def take(self, indices, axis=..., **kwargs) -> Self: ... def __delitem__(self, idx: Hashable) -> None: ... - def reindex_like( - self, - other, - method: _str | None = ..., - copy: _bool = ..., - limit=..., - tolerance=..., - ) -> Self: ... @overload def drop( self, diff --git a/pandas-stubs/core/reshape/encoding.pyi b/pandas-stubs/core/reshape/encoding.pyi index aaa5de2c6..6d7a2d5e3 100644 --- a/pandas-stubs/core/reshape/encoding.pyi +++ b/pandas-stubs/core/reshape/encoding.pyi @@ -3,20 +3,17 @@ from collections.abc import ( Iterable, ) -from pandas import ( - DataFrame, - Series, -) +from pandas import DataFrame from pandas._typing import ( - ArrayLike, + AnyArrayLike, Dtype, HashableT1, HashableT2, ) def get_dummies( - data: ArrayLike | DataFrame | Series, + data: AnyArrayLike | DataFrame, prefix: str | Iterable[str] | dict[HashableT1, str] | None = ..., prefix_sep: str = ..., dummy_na: bool = ..., diff --git a/pandas-stubs/core/series.pyi b/pandas-stubs/core/series.pyi index 8b78c6d16..f6afe8e53 100644 --- a/pandas-stubs/core/series.pyi +++ b/pandas-stubs/core/series.pyi @@ -1151,7 +1151,7 @@ class Series(IndexOpsMixin[S1], NDFrame): method: _str | FillnaOptions | Literal["nearest"] | None = ..., copy: _bool = ..., limit: int | None = ..., - tolerance: float | None = ..., + tolerance: Scalar | AnyArrayLike | Sequence[Scalar] = ..., ) -> Self: ... @overload def fillna( diff --git a/tests/test_frame.py b/tests/test_frame.py index fe2b6be1b..eb2fcdc97 100644 --- a/tests/test_frame.py +++ b/tests/test_frame.py @@ -2663,6 +2663,18 @@ def test_frame_reindex() -> None: df.reindex([2, 1, 0]) +def test_frame_reindex_like() -> None: + # GH 84 + df = pd.DataFrame({"a": [1, 2, 3]}, index=[0, 1, 2]) + other = pd.DataFrame({"a": [1, 2]}, index=[1, 0]) + check( + assert_type( + df.reindex_like(other, method="nearest", tolerance=[0.5, 0.2]), pd.DataFrame + ), + pd.DataFrame, + ) + + def test_frame_ndarray_assignmment() -> None: # GH 100 df_a = pd.DataFrame({"a": [0.0] * 10}) diff --git a/tests/test_series.py b/tests/test_series.py index f0dbe8019..2857b9f60 100644 --- a/tests/test_series.py +++ b/tests/test_series.py @@ -3552,3 +3552,21 @@ def test_series_int_float() -> None: check( assert_type(pd.Series([1, 2.0, 3]), "pd.Series[float]"), pd.Series, np.float64 ) + + +def test_series_reindex() -> None: + s = pd.Series([1, 2, 3], index=[0, 1, 2]) + check(assert_type(s.reindex([2, 1, 0]), "pd.Series[int]"), pd.Series, np.integer) + + +def test_series_reindex_like() -> None: + s = pd.Series([1, 2, 3], index=[0, 1, 2]) + other = pd.Series([1, 2], index=[1, 0]) + check( + assert_type( + s.reindex_like(other, method="nearest", tolerance=[0.5, 0.2]), + "pd.Series[int]", + ), + pd.Series, + np.integer, + )