|
5 | 5 | from numpy.lib.mixins import NDArrayOperatorsMixin |
6 | 6 |
|
7 | 7 | from pandas._libs import lib |
| 8 | +from pandas._typing import Scalar |
8 | 9 | from pandas.compat.numpy import function as nv |
9 | 10 | from pandas.util._decorators import doc |
10 | 11 | from pandas.util._validators import validate_fillna_kwargs |
|
17 | 18 | from pandas import compat |
18 | 19 | from pandas.core import nanops |
19 | 20 | from pandas.core.algorithms import searchsorted, take, unique |
| 21 | +from pandas.core.array_algos import masked_reductions |
20 | 22 | from pandas.core.arrays.base import ExtensionArray, ExtensionOpsMixin |
21 | 23 | from pandas.core.construction import extract_array |
22 | 24 | from pandas.core.indexers import check_array_indexer |
@@ -349,13 +351,19 @@ def all(self, axis=None, out=None, keepdims=False, skipna=True): |
349 | 351 | nv.validate_all((), dict(out=out, keepdims=keepdims)) |
350 | 352 | return nanops.nanall(self._ndarray, axis=axis, skipna=skipna) |
351 | 353 |
|
352 | | - def min(self, axis=None, out=None, keepdims=False, skipna=True): |
353 | | - nv.validate_min((), dict(out=out, keepdims=keepdims)) |
354 | | - return nanops.nanmin(self._ndarray, axis=axis, skipna=skipna) |
| 354 | + def min(self, skipna: bool = True, **kwargs) -> Scalar: |
| 355 | + nv.validate_min((), kwargs) |
| 356 | + result = masked_reductions.min( |
| 357 | + values=self.to_numpy(), mask=self.isna(), skipna=skipna |
| 358 | + ) |
| 359 | + return result |
355 | 360 |
|
356 | | - def max(self, axis=None, out=None, keepdims=False, skipna=True): |
357 | | - nv.validate_max((), dict(out=out, keepdims=keepdims)) |
358 | | - return nanops.nanmax(self._ndarray, axis=axis, skipna=skipna) |
| 361 | + def max(self, skipna: bool = True, **kwargs) -> Scalar: |
| 362 | + nv.validate_max((), kwargs) |
| 363 | + result = masked_reductions.max( |
| 364 | + values=self.to_numpy(), mask=self.isna(), skipna=skipna |
| 365 | + ) |
| 366 | + return result |
359 | 367 |
|
360 | 368 | def sum( |
361 | 369 | self, |
|
0 commit comments