@@ -698,7 +698,7 @@ def maybe_promote(dtype: np.dtype, fill_value=np.nan):
698
698
return dtype , fill_value
699
699
700
700
701
- def _ensure_dtype_type (value , dtype : DtypeObj ):
701
+ def _ensure_dtype_type (value , dtype : np . dtype ):
702
702
"""
703
703
Ensure that the given value is an instance of the given dtype.
704
704
@@ -708,21 +708,17 @@ def _ensure_dtype_type(value, dtype: DtypeObj):
708
708
Parameters
709
709
----------
710
710
value : object
711
- dtype : np.dtype or ExtensionDtype
711
+ dtype : np.dtype
712
712
713
713
Returns
714
714
-------
715
715
object
716
716
"""
717
717
# Start with exceptions in which we do _not_ cast to numpy types
718
- if is_extension_array_dtype (dtype ):
719
- return value
720
- elif dtype == np .object_ :
721
- return value
722
- elif isna (value ):
723
- # e.g. keep np.nan rather than try to cast to np.float32(np.nan)
718
+ if dtype == np .object_ :
724
719
return value
725
720
721
+ # Note: before we get here we have already excluded isna(value)
726
722
return dtype .type (value )
727
723
728
724
@@ -1139,7 +1135,7 @@ def astype_nansafe(
1139
1135
if isinstance (dtype , ExtensionDtype ):
1140
1136
return dtype .construct_array_type ()._from_sequence (arr , dtype = dtype , copy = copy )
1141
1137
1142
- elif not isinstance (dtype , np .dtype ):
1138
+ elif not isinstance (dtype , np .dtype ): # pragma: no cover
1143
1139
raise ValueError ("dtype must be np.dtype or ExtensionDtype" )
1144
1140
1145
1141
if arr .dtype .kind in ["m" , "M" ] and (
@@ -1389,9 +1385,7 @@ def maybe_castable(dtype: np.dtype) -> bool:
1389
1385
return dtype .name not in POSSIBLY_CAST_DTYPES
1390
1386
1391
1387
1392
- def maybe_infer_to_datetimelike (
1393
- value : Union [np .ndarray , List ], convert_dates : bool = False
1394
- ):
1388
+ def maybe_infer_to_datetimelike (value : Union [np .ndarray , List ]):
1395
1389
"""
1396
1390
we might have a array (or single object) that is datetime like,
1397
1391
and no dtype is passed don't change the value unless we find a
@@ -1403,13 +1397,10 @@ def maybe_infer_to_datetimelike(
1403
1397
Parameters
1404
1398
----------
1405
1399
value : np.ndarray or list
1406
- convert_dates : bool, default False
1407
- if True try really hard to convert dates (such as datetime.date), other
1408
- leave inferred dtype 'date' alone
1409
1400
1410
1401
"""
1411
1402
if not isinstance (value , (np .ndarray , list )):
1412
- raise TypeError (type (value ))
1403
+ raise TypeError (type (value )) # pragma: no cover
1413
1404
1414
1405
v = np .array (value , copy = False )
1415
1406
@@ -1466,9 +1457,7 @@ def try_timedelta(v: np.ndarray) -> np.ndarray:
1466
1457
1467
1458
inferred_type = lib .infer_datetimelike_array (ensure_object (v ))
1468
1459
1469
- if inferred_type == "date" and convert_dates :
1470
- value = try_datetime (v )
1471
- elif inferred_type == "datetime" :
1460
+ if inferred_type == "datetime" :
1472
1461
value = try_datetime (v )
1473
1462
elif inferred_type == "timedelta" :
1474
1463
value = try_timedelta (v )
0 commit comments