pd.to_datetime ValueError or TypeError · Issue #5195 · pandas-dev/pandas (original) (raw)

Hi,

I am using pandas 0.12.0 and numpy 1.7.1.

Not sure if this is the expected functionality or not. I thought if coerce = True or errors='ignore' I wouldn't get this result:

In [372]: td = pd.Series(['May 04', 'Jun 02', 'Dec 11'], index=[1,2,3])

In [373]: td.apply(pd.to_datetime, format='%b %y', errors='ignore', coerce=True) Out[373]: 1 2004-05-01 00:00:00 2 2002-06-01 00:00:00 3 2011-12-01 00:00:00 dtype: datetime64[ns]

In [374]: td = pd.Series(['May 04', 'Jun 02', ''], index=[1,2,3])

In [375]: td.apply(pd.to_datetime, format='%b %y', errors='ignore', coerce=True)

ValueError Traceback (most recent call last) in () ----> 1 td.apply(pd.to_datetime, format='%b %y', errors='ignore', coerce=True)

C:\Python27\lib\site-packages\pandas\core\series.pyc in apply(self, func, convert_dtype, args, **kwds) 2534 values = lib.map_infer(values, lib.Timestamp) 2535 -> 2536 mapped = lib.map_infer(values, f, convert=convert_dtype) 2537 if isinstance(mapped[0], Series): 2538 from pandas.core.frame import DataFrame

C:\Python27\lib\site-packages\pandas\lib.pyd in pandas.lib.map_infer (pandas\lib.c:42320)()

C:\Python27\lib\site-packages\pandas\core\series.pyc in (x) 2523 2524 if kwds or args and not isinstance(func, np.ufunc): -> 2525 f = lambda x: func(x, *args, **kwds) 2526 else: 2527 f = func

C:\Python27\lib\site-packages\pandas\tseries\tools.pyc in to_datetime(arg, errors, dayfirst, utc, box, format, coerce, u nit) 127 return _convert_listlike(arg, box=box) 128 --> 129 return _convert_listlike(np.array([ arg ]), box=box)[0] 130 131 class DateParseError(ValueError):

C:\Python27\lib\site-packages\pandas\tseries\tools.pyc in _convert_listlike(arg, box) 115 return DatetimeIndex._simple_new(values, None, tz=tz) 116 except (ValueError, TypeError): --> 117 raise e 118 119 if arg is None:

ValueError: time data '' does not match format '%b %y'

In [376]: