Closed
Description
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)
<ipython-input-375-0c44a3c36f8e> in <module>()
----> 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 <lambda>(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]: