Closed
Description
to_datetime
raises when we pass in pd.NA
but it should probably convert to pd.NaT
, I think (or at least this would be better than an error)?
In [1]: import pandas as pd
In [2]: pd.to_datetime([pd.NA])
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-2-1af314749017> in <module>
----> 1 pd.to_datetime([pd.NA])
~/pandas/pandas/core/tools/datetimes.py in to_datetime(arg, errors, dayfirst, yearfirst, utc, format, exact, unit, infer_datetime_format, origin, cache)
755 result = _convert_and_box_cache(arg, cache_array)
756 else:
--> 757 result = convert_listlike(arg, format)
758 else:
759 result = convert_listlike(np.array([arg]), format)[0]
~/pandas/pandas/core/tools/datetimes.py in _convert_listlike_datetimes(arg, format, name, tz, unit, errors, infer_datetime_format, dayfirst, yearfirst, exact)
447 errors=errors,
448 require_iso8601=require_iso8601,
--> 449 allow_object=True,
450 )
451
~/pandas/pandas/core/arrays/datetimes.py in objects_to_datetime64ns(data, dayfirst, yearfirst, utc, errors, require_iso8601, allow_object)
1848 dayfirst=dayfirst,
1849 yearfirst=yearfirst,
-> 1850 require_iso8601=require_iso8601,
1851 )
1852 except ValueError as e:
~/pandas/pandas/_libs/tslib.pyx in pandas._libs.tslib.array_to_datetime()
479 @cython.wraparound(False)
480 @cython.boundscheck(False)
--> 481 cpdef array_to_datetime(ndarray[object] values, str errors='raise',
482 bint dayfirst=False, bint yearfirst=False,
483 object utc=None, bint require_iso8601=False):
~/pandas/pandas/_libs/tslib.pyx in pandas._libs.tslib.array_to_datetime()
701
702 except TypeError:
--> 703 return array_to_datetime_object(values, errors,
704 dayfirst, yearfirst)
705
~/pandas/pandas/_libs/tslib.pyx in pandas._libs.tslib.array_to_datetime_object()
839 else:
840 if is_raise:
--> 841 raise
842 return values, None
843 return oresult, None
~/pandas/pandas/_libs/tslib.pyx in pandas._libs.tslib.array_to_datetime()
674 iresult[i] = NPY_NAT
675 else:
--> 676 raise TypeError(f"{type(val)} is not convertible to datetime")
677
678 except OutOfBoundsDatetime:
TypeError: <class 'pandas._libs.missing.NAType'> is not convertible to datetime
In [3]: pd.__version__
Out[3]: '1.1.0.dev0+572.gaa6f241f5'
Expected Output
DatetimeIndex(['NaT'], dtype='datetime64[ns]', freq=None)