def _infer_object_dtype(arr): # TODO: accelerate with Cython/C BOOLEAN, STRING = 0, 1 state = BOOLEAN avalues = arr.values if isinstance(arr, pd.Series) else arr nulls = pd.isnull(avalues) if nulls.any(): for i in compat.range(len(avalues)): if state == BOOLEAN: if not nulls[i] and not pdcom.is_bool(avalues[i]): state = STRING elif state == STRING: break if state == BOOLEAN: return 'boolean' elif state == STRING: return 'string' else: return pd.lib.infer_dtype(avalues)
def _infer_object_dtype(arr): # TODO: accelerate with Cython/C BOOLEAN, STRING = 0, 1 state = BOOLEAN avalues = arr.values if isinstance(arr, pd.Series) else arr nulls = pd.isnull(avalues) if nulls.any(): for i in compat.range(len(avalues)): if state == BOOLEAN: if not nulls[i] and not pdcom.is_bool(avalues[i]): state = STRING elif state == STRING: break if state == BOOLEAN: return 'boolean' elif state == STRING: return 'string' else: return infer_dtype(avalues)