Pandas to_datetime 不遵循格式并产生不正确的结果

Pandas to_datetime not following format & producing incorrect results

我有一个包含两列时间的数据框(BgnDateEndDate)。目前这些列的格式是 float64,但我需要它们采用 pandas 日期时间格式。我尝试 运行 pd.to_datetime 格式为 %Y-%m-%d 但我总是得到秒数,这是我不想要的。此外,Pandas 计算的列值不正确。下面是我的输入、脚本和输出的示例:

BgnDate = 19700907

input_data_df[['BgnDate', 'EndDate']] = input_data_df[['BgnDate', 'EndDate']].apply(lambda x: pd.to_datetime(x,format='%Y-%m-%d', errors='coerce'))

BgnDate = 1970-01-01 00:00:00.019990907

我希望我的输出看起来像:'1999-09-07'

^^ 请注意,输出的月份和日期不正确。

知道我哪里出错了吗?

我认为您的格式不正确。尝试 %Y%m%d 而不是 %Y-%m-%d:

df[['BgnDate', 'EndDate']] = df[['BgnDate', 'EndDate']].apply(lambda x: pd.to_datetime(x,format='%Y%m%d', errors='coerce'))