@@ -196,7 +196,7 @@ def __init__(self, values, categories=None, ordered=None, name=None, fastpath=Fa
196
196
197
197
if fastpath :
198
198
# fast path
199
- self ._codes = _coerce_codes_dtype (values , categories )
199
+ self ._codes = com . _coerce_indexer_dtype (values , categories )
200
200
self .name = name
201
201
self .categories = categories
202
202
self .ordered = ordered
@@ -289,7 +289,7 @@ def __init__(self, values, categories=None, ordered=None, name=None, fastpath=Fa
289
289
self .ordered = False if ordered is None else ordered
290
290
self .categories = categories
291
291
self .name = name
292
- self ._codes = _coerce_codes_dtype (codes , categories )
292
+ self ._codes = com . _coerce_indexer_dtype (codes , categories )
293
293
294
294
def copy (self ):
295
295
""" Copy constructor. """
@@ -609,7 +609,7 @@ def add_categories(self, new_categories, inplace=False):
609
609
new_categories = self ._validate_categories (new_categories )
610
610
cat = self if inplace else self .copy ()
611
611
cat ._categories = new_categories
612
- cat ._codes = _coerce_codes_dtype (cat ._codes , new_categories )
612
+ cat ._codes = com . _coerce_indexer_dtype (cat ._codes , new_categories )
613
613
if not inplace :
614
614
return cat
615
615
@@ -1422,22 +1422,6 @@ def _delegate_method(self, name, *args, **kwargs):
1422
1422
1423
1423
##### utility routines #####
1424
1424
1425
- _int8_max = np .iinfo (np .int8 ).max
1426
- _int16_max = np .iinfo (np .int16 ).max
1427
- _int32_max = np .iinfo (np .int32 ).max
1428
-
1429
- def _coerce_codes_dtype (codes , categories ):
1430
- """ coerce the code input array to an appropriate dtype """
1431
- codes = np .array (codes ,copy = False )
1432
- l = len (categories )
1433
- if l < _int8_max :
1434
- return codes .astype ('int8' )
1435
- elif l < _int16_max :
1436
- return codes .astype ('int16' )
1437
- elif l < _int32_max :
1438
- return codes .astype ('int32' )
1439
- return codes .astype ('int64' )
1440
-
1441
1425
def _get_codes_for_values (values , categories ):
1442
1426
""""
1443
1427
utility routine to turn values into codes given the specified categories
@@ -1450,7 +1434,7 @@ def _get_codes_for_values(values, categories):
1450
1434
(hash_klass , vec_klass ), vals = _get_data_algo (values , _hashtables )
1451
1435
t = hash_klass (len (categories ))
1452
1436
t .map_locations (com ._values_from_object (categories ))
1453
- return _coerce_codes_dtype (t .lookup (values ), categories )
1437
+ return com . _coerce_indexer_dtype (t .lookup (values ), categories )
1454
1438
1455
1439
def _convert_to_list_like (list_like ):
1456
1440
if hasattr (list_like , "dtype" ):
0 commit comments