为什么在日期时间转换中对相同的逻辑有不同的答案



转换日期的输出为'20210514'

input_date = '14-05-2021' # 14th May 2021
converted_date = (pd.to_datetime(input_date).strftime('%Y%m%d'))

但如果我使用下面相同的逻辑,为什么会出现"20220601"(2022年6月1日(?我预计产量为"20220106"。

input_date = '06-01-2022' # 6th Jan 2022
converted_date = (pd.to_datetime(input_date).strftime('%Y%m%d'))

您还没有提供输入日期字符串的格式,所以Panda必须猜测它。06-01-2022不明确:它可能是年月日或年月日。

pandas.to_datetime()有一个默认为false的dayfirst参数。由于06是一个有效的月份,因此它被解析为一个月。14而不是一个有效的月份,所以熊猫认为应该是这一天。

试试这个:

input_date = '06-01-2022' # 6th Jan 2022
converted_date = (pd.to_datetime(input_date, dayfirst=True).strftime('%Y%m%d'))

如果您想非常具体,也可以传入format

相关内容

  • 没有找到相关文章

最新更新