From e70dad47db5bfba69360ee90ce576f303315fb13 Mon Sep 17 00:00:00 2001 From: Max Date: Tue, 25 Nov 2014 13:25:54 -0500 Subject: [PATCH 1/2] fix to_datetime default error suppression --- pandas/tseries/tools.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pandas/tseries/tools.py b/pandas/tseries/tools.py index 45bea00ac104f..c6cee2f51dc3b 100644 --- a/pandas/tseries/tools.py +++ b/pandas/tseries/tools.py @@ -173,7 +173,7 @@ def _guess_datetime_format_for_array(arr, **kwargs): if len(non_nan_elements): return _guess_datetime_format(arr[non_nan_elements[0]], **kwargs) -def to_datetime(arg, errors='ignore', dayfirst=False, utc=None, box=True, +def to_datetime(arg, ignore_errors=False, dayfirst=False, utc=None, box=True, format=None, coerce=False, unit='ns', infer_datetime_format=False): """ @@ -182,8 +182,8 @@ def to_datetime(arg, errors='ignore', dayfirst=False, utc=None, box=True, Parameters ---------- arg : string, datetime, array of strings (with possible NAs) - errors : {'ignore', 'raise'}, default 'ignore' - Errors are ignored by default (values left untouched) + ignore_errors : boolean, default False + Catches errors raised by datetime conversions, and leaves those values untouched dayfirst : boolean, default False If True parses dates with the day first, eg 20/01/2005 Warning: dayfirst=True is not strict, but will prefer to parse @@ -273,7 +273,7 @@ def _convert_listlike(arg, box, format): arg, format, coerce=coerce ) except (tslib.OutOfBoundsDatetime): - if errors == 'raise': + if not ignore_errors: raise result = arg except ValueError: @@ -283,7 +283,7 @@ def _convert_listlike(arg, box, format): raise if result is None and (format is None or infer_datetime_format): - result = tslib.array_to_datetime(arg, raise_=errors == 'raise', + result = tslib.array_to_datetime(arg, raise_=ignore_errors==False, utc=utc, dayfirst=dayfirst, coerce=coerce, unit=unit) From 6cc8a03fed2cbd06941d098d843506dc9a03f94b Mon Sep 17 00:00:00 2001 From: Max Date: Wed, 26 Nov 2014 12:47:51 -0500 Subject: [PATCH 2/2] raise erros by default in to_datetime --- pandas/tseries/tools.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pandas/tseries/tools.py b/pandas/tseries/tools.py index c6cee2f51dc3b..4f68d9fbb5afb 100644 --- a/pandas/tseries/tools.py +++ b/pandas/tseries/tools.py @@ -173,7 +173,7 @@ def _guess_datetime_format_for_array(arr, **kwargs): if len(non_nan_elements): return _guess_datetime_format(arr[non_nan_elements[0]], **kwargs) -def to_datetime(arg, ignore_errors=False, dayfirst=False, utc=None, box=True, +def to_datetime(arg, errors='raise', dayfirst=False, utc=None, box=True, format=None, coerce=False, unit='ns', infer_datetime_format=False): """ @@ -182,8 +182,8 @@ def to_datetime(arg, ignore_errors=False, dayfirst=False, utc=None, box=True, Parameters ---------- arg : string, datetime, array of strings (with possible NAs) - ignore_errors : boolean, default False - Catches errors raised by datetime conversions, and leaves those values untouched + errors : {'ignore', 'raise'}, default 'raise' + Option to ignore errors and leave the values that raise them untouched. dayfirst : boolean, default False If True parses dates with the day first, eg 20/01/2005 Warning: dayfirst=True is not strict, but will prefer to parse @@ -273,7 +273,7 @@ def _convert_listlike(arg, box, format): arg, format, coerce=coerce ) except (tslib.OutOfBoundsDatetime): - if not ignore_errors: + if errors == 'raise': raise result = arg except ValueError: @@ -283,7 +283,7 @@ def _convert_listlike(arg, box, format): raise if result is None and (format is None or infer_datetime_format): - result = tslib.array_to_datetime(arg, raise_=ignore_errors==False, + result = tslib.array_to_datetime(arg, raise_=errors == 'raise', utc=utc, dayfirst=dayfirst, coerce=coerce, unit=unit)