Skip to content

Commit b410b3c

Browse files
committed
use pandas_dtype
1 parent 6bdc9a3 commit b410b3c

File tree

1 file changed

+13
-6
lines changed

1 file changed

+13
-6
lines changed

pandas/core/dtypes/common.py

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1848,26 +1848,33 @@ def infer_dtype_from_object(dtype):
18481848
if isinstance(dtype, type) and issubclass(dtype, np.generic):
18491849
# Type object from a dtype
18501850
return dtype
1851-
elif is_categorical(dtype):
1852-
return CategoricalDtype().type
1853-
elif is_datetime64tz_dtype(dtype):
1854-
return DatetimeTZDtype(dtype).type
1855-
elif isinstance(dtype, np.dtype): # dtype object
1851+
elif isinstance(dtype, np.dtype):
1852+
# dtype object
18561853
try:
18571854
_validate_date_like_dtype(dtype)
18581855
except TypeError:
18591856
# Should still pass if we don't have a date-like
18601857
pass
18611858
return dtype.type
1859+
1860+
try:
1861+
dtype = pandas_dtype(dtype)
1862+
except TypeError:
1863+
pass
1864+
1865+
if is_extension_array_dtype(dtype):
1866+
return dtype.type
18621867
elif isinstance(dtype, string_types):
1868+
1869+
# TODO(jreback)
1870+
# should deprecate these
18631871
if dtype in ['datetimetz', 'datetime64tz']:
18641872
return DatetimeTZDtype.type
18651873
elif dtype in ['period']:
18661874
raise NotImplementedError
18671875

18681876
if dtype == 'datetime' or dtype == 'timedelta':
18691877
dtype += '64'
1870-
18711878
try:
18721879
return infer_dtype_from_object(getattr(np, dtype))
18731880
except (AttributeError, TypeError):

0 commit comments

Comments
 (0)