From 25d697aa21eae5178059072d4ffb380fbd30934e Mon Sep 17 00:00:00 2001 From: Brock Date: Tue, 10 Nov 2020 09:36:33 -0800 Subject: [PATCH 1/2] TYP: nanops --- pandas/core/nanops.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/pandas/core/nanops.py b/pandas/core/nanops.py index d9e51810f1445..cf0ece4aab517 100644 --- a/pandas/core/nanops.py +++ b/pandas/core/nanops.py @@ -374,7 +374,14 @@ def _datetimelike_compat(func): """ @functools.wraps(func) - def new_func(values, *, axis=None, skipna=True, mask=None, **kwargs): + def new_func( + values: np.ndarray, + *, + axis: Optional[int] = None, + skipna: bool = True, + mask: Optional[np.ndarray] = None, + **kwargs, + ): orig_values = values datetimelike = values.dtype.kind in ["m", "M"] From 8bae2183ad7c207fc976ade1516d974d54a89ff1 Mon Sep 17 00:00:00 2001 From: Brock Date: Wed, 11 Nov 2020 07:49:42 -0800 Subject: [PATCH 2/2] cast --- pandas/core/nanops.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pandas/core/nanops.py b/pandas/core/nanops.py index cf0ece4aab517..d38974839394d 100644 --- a/pandas/core/nanops.py +++ b/pandas/core/nanops.py @@ -367,7 +367,7 @@ def _wrap_results(result, dtype: np.dtype, fill_value=None): return result -def _datetimelike_compat(func): +def _datetimelike_compat(func: F) -> F: """ If we have datetime64 or timedelta64 values, ensure we have a correct mask before calling the wrapped function, then cast back afterwards. @@ -397,7 +397,7 @@ def new_func( return result - return new_func + return cast(F, new_func) def _na_for_min_count(