BUG: Inconsistent to_datetime behaviour · Issue #57051 · pandas-dev/pandas (original) (raw)

Pandas version checks

Reproducible Example

import pandas as pd

pd.to_datetime("1704660000", unit="s", origin="unix") :1: FutureWarning: The behavior of 'to_datetime' with 'unit' when parsing strings is deprecated. In a future version, strings will be parsed as datetime strings, matching the behavior without a 'unit'. To retain the old behavior, explicitly cast ints or floats to numeric type before calling to_datetime. Timestamp('2024-01-07 20:39:28')

pd.to_datetime(1704660000, unit="s", origin="unix") Timestamp('2024-01-07 20:40:00')

Issue Description

Incorrect datetime object generated when unix timestamp is passed as string.

Expected Behavior

The timestamp string should be converted to the correct datetime regarless of the dtype of the input (string or int). Or, raise error if string inputs are illegal.

The current depracation warning seems to imply that the behaviour is working as expected now, but won't be available in future versions.

Installed Versions

[~] $ pip list | rg "pandas|numpy"
numpy                             1.26.1
pandas                            2.2.0
pandas-stubs                      2.1.4.231218