|
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