diff --git a/pandas/core/computation/align.py b/pandas/core/computation/align.py index f14882227ddd9..2e7a0f842ee6d 100644 --- a/pandas/core/computation/align.py +++ b/pandas/core/computation/align.py @@ -9,6 +9,7 @@ ) from typing import ( TYPE_CHECKING, + Callable, Sequence, ) import warnings @@ -28,6 +29,8 @@ from pandas.core.computation.common import result_type_many if TYPE_CHECKING: + from pandas._typing import F + from pandas.core.generic import NDFrame from pandas.core.indexes.api import Index @@ -62,7 +65,7 @@ def _any_pandas_objects(terms) -> bool: return any(isinstance(term.value, PandasObject) for term in terms) -def _filter_special_cases(f): +def _filter_special_cases(f) -> Callable[[F], F]: @wraps(f) def wrapper(terms): # single unary operand diff --git a/pandas/core/reshape/merge.py b/pandas/core/reshape/merge.py index 4227d43c459d0..5f108c26d239a 100644 --- a/pandas/core/reshape/merge.py +++ b/pandas/core/reshape/merge.py @@ -162,7 +162,9 @@ def _groupby_and_merge(by, left: DataFrame, right: DataFrame, merge_pieces): lcols = lhs.columns.tolist() cols = lcols + [r for r in right.columns if r not in set(lcols)] merged = lhs.reindex(columns=cols) - merged.index = range(len(merged)) + # error: Incompatible types in assignment (expression has type + # "range", variable has type "Index") + merged.index = range(len(merged)) # type: ignore[assignment] pieces.append(merged) continue diff --git a/pandas/util/_decorators.py b/pandas/util/_decorators.py index 6f8889e9017d0..0f15511e491cc 100644 --- a/pandas/util/_decorators.py +++ b/pandas/util/_decorators.py @@ -323,7 +323,7 @@ def wrapper(*args, **kwargs): def rewrite_axis_style_signature( name: str, extra_params: list[tuple[str, Any]] -) -> Callable[..., Any]: +) -> Callable[[F], F]: def decorate(func: F) -> F: @wraps(func) def wrapper(*args, **kwargs) -> Callable[..., Any]: