>> pd.to_datetime(vals2) DatetimeIndex(['2016-01-02'], dtype='datetim...">

API: to_datetime with unit changes how strings are interpreted · Issue #50735 · pandas-dev/pandas (original) (raw)

Skip to content

Provide feedback

Saved searches

Use saved searches to filter your results more quickly

Sign up

@jbrockmendel

Description

@jbrockmendel

vals = ["2016-01-02 03:04:05"]

pd.to_datetime(vals) # <- works pd.to_datetime(vals, unit="s") # <- raises

vals2 = ["20160102"]

pd.to_datetime(vals2) DatetimeIndex(['2016-01-02'], dtype='datetime64[ns]', freq=None) pd.to_datetime(vals2, unit="s") DatetimeIndex(['1970-08-22 08:01:42'], dtype='datetime64[ns]', freq=None)

if you pass a unit (other than "ns") to to_datetime we go through array_with_unit_to_datetime and cast strings to float instead of trying to parse them. I think it makes more sense to keep the string behavior unchanged and only affect how we treat floats/ints.