|
8 | 8 | from pandas._config import get_option |
9 | 9 |
|
10 | 10 | from pandas._libs import NaT, Timedelta, Timestamp, iNaT, lib |
11 | | -from pandas._typing import ArrayLike, Dtype, F, Scalar |
| 11 | +from pandas._typing import ArrayLike, Dtype, DtypeObj, F, Scalar |
12 | 12 | from pandas.compat._optional import import_optional_dependency |
13 | 13 |
|
14 | 14 | from pandas.core.dtypes.cast import _int64_max, maybe_upcast_putmask |
@@ -133,7 +133,7 @@ def f( |
133 | 133 | return f |
134 | 134 |
|
135 | 135 |
|
136 | | -def _bn_ok_dtype(dtype: Dtype, name: str) -> bool: |
| 136 | +def _bn_ok_dtype(dtype: DtypeObj, name: str) -> bool: |
137 | 137 | # Bottleneck chokes on datetime64, PeriodDtype (or and EA) |
138 | 138 | if not is_object_dtype(dtype) and not needs_i8_conversion(dtype): |
139 | 139 |
|
@@ -166,7 +166,7 @@ def _has_infs(result) -> bool: |
166 | 166 |
|
167 | 167 |
|
168 | 168 | def _get_fill_value( |
169 | | - dtype: Dtype, fill_value: Optional[Scalar] = None, fill_value_typ=None |
| 169 | + dtype: DtypeObj, fill_value: Optional[Scalar] = None, fill_value_typ=None |
170 | 170 | ): |
171 | 171 | """ return the correct fill value for the dtype of the values """ |
172 | 172 | if fill_value is not None: |
@@ -270,9 +270,9 @@ def _get_values( |
270 | 270 | Potential copy of input value array |
271 | 271 | mask : Optional[ndarray[bool]] |
272 | 272 | Mask for values, if deemed necessary to compute |
273 | | - dtype : dtype |
| 273 | + dtype : np.dtype |
274 | 274 | dtype for values |
275 | | - dtype_max : dtype |
| 275 | + dtype_max : np.dtype |
276 | 276 | platform independent dtype |
277 | 277 | fill_value : Any |
278 | 278 | fill value used |
@@ -312,20 +312,20 @@ def _get_values( |
312 | 312 | # return a platform independent precision dtype |
313 | 313 | dtype_max = dtype |
314 | 314 | if is_integer_dtype(dtype) or is_bool_dtype(dtype): |
315 | | - dtype_max = np.int64 |
| 315 | + dtype_max = np.dtype(np.int64) |
316 | 316 | elif is_float_dtype(dtype): |
317 | | - dtype_max = np.float64 |
| 317 | + dtype_max = np.dtype(np.float64) |
318 | 318 |
|
319 | 319 | return values, mask, dtype, dtype_max, fill_value |
320 | 320 |
|
321 | 321 |
|
322 | | -def _na_ok_dtype(dtype) -> bool: |
| 322 | +def _na_ok_dtype(dtype: DtypeObj) -> bool: |
323 | 323 | if needs_i8_conversion(dtype): |
324 | 324 | return False |
325 | 325 | return not issubclass(dtype.type, np.integer) |
326 | 326 |
|
327 | 327 |
|
328 | | -def _wrap_results(result, dtype: Dtype, fill_value=None): |
| 328 | +def _wrap_results(result, dtype: DtypeObj, fill_value=None): |
329 | 329 | """ wrap our results if needed """ |
330 | 330 | if is_datetime64_any_dtype(dtype): |
331 | 331 | if fill_value is None: |
@@ -597,7 +597,7 @@ def get_median(x): |
597 | 597 | return np.nan |
598 | 598 | return np.nanmedian(x[mask]) |
599 | 599 |
|
600 | | - values, mask, dtype, dtype_max, _ = _get_values(values, skipna, mask=mask) |
| 600 | + values, mask, dtype, _, _ = _get_values(values, skipna, mask=mask) |
601 | 601 | if not is_float_dtype(values.dtype): |
602 | 602 | try: |
603 | 603 | values = values.astype("f8") |
@@ -716,7 +716,7 @@ def nanstd(values, axis=None, skipna=True, ddof=1, mask=None): |
716 | 716 | 1.0 |
717 | 717 | """ |
718 | 718 | orig_dtype = values.dtype |
719 | | - values, mask, dtype, dtype_max, fill_value = _get_values(values, skipna, mask=mask) |
| 719 | + values, mask, _, _, _ = _get_values(values, skipna, mask=mask) |
720 | 720 |
|
721 | 721 | result = np.sqrt(nanvar(values, axis=axis, skipna=skipna, ddof=ddof, mask=mask)) |
722 | 722 | return _wrap_results(result, orig_dtype) |
@@ -910,9 +910,7 @@ def nanargmax( |
910 | 910 | >>> nanops.nanargmax(arr, axis=1) |
911 | 911 | array([2, 2, 1, 1], dtype=int64) |
912 | 912 | """ |
913 | | - values, mask, dtype, _, _ = _get_values( |
914 | | - values, True, fill_value_typ="-inf", mask=mask |
915 | | - ) |
| 913 | + values, mask, _, _, _ = _get_values(values, True, fill_value_typ="-inf", mask=mask) |
916 | 914 | result = values.argmax(axis) |
917 | 915 | result = _maybe_arg_null_out(result, axis, mask, skipna) |
918 | 916 | return result |
@@ -956,9 +954,7 @@ def nanargmin( |
956 | 954 | >>> nanops.nanargmin(arr, axis=1) |
957 | 955 | array([0, 0, 1, 1], dtype=int64) |
958 | 956 | """ |
959 | | - values, mask, dtype, _, _ = _get_values( |
960 | | - values, True, fill_value_typ="+inf", mask=mask |
961 | | - ) |
| 957 | + values, mask, _, _, _ = _get_values(values, True, fill_value_typ="+inf", mask=mask) |
962 | 958 | result = values.argmin(axis) |
963 | 959 | result = _maybe_arg_null_out(result, axis, mask, skipna) |
964 | 960 | return result |
|
0 commit comments