python 如何将不同的日期格式转换为相同的格式?

eqzww0vc  于 2023-08-02  发布在  Python
关注(0)|答案(1)|浏览(107)

我有一个列,'StartDate',其中有2种类型的格式显示日期。第一个是'25/12/2022',第二个是datetime.datetime(2022, 1, 1, 0, 0)。所以第一种类型的值有撇号,而第二种没有。如何将所有这些值转换为格式为dd/mm/yyyy的datetime类型?
当输入是'datetime.datetime(2022, 1, 1, 0, 0)'时,使用pd.to_datetime()会导致NaT值,但当输入是'25/12/2022'时,会导致datetime类型,这是我无法弄清楚的。
当输入是datetime.datetime(2023, 12, 30, 0, 0)时,pd.to_datetime的结果是NaT,当输入是01/10/2024时,pd.to_datetime返回一个datetime。我尝试将列拆分为日期时间和字符串,但无法正确执行。
我在开始时检查了唯一值的数量,即611。如果我使用pd.to_datetime,这将减少到509。这导致了很多问题进一步下降线。所有未解析的值都像datetime.datetime(2022, 1, 1, 0, 0)

e4yzc0pl

e4yzc0pl1#

在我的例子中,我没有像你建议的那样得到Nat

import pandas as pd
import datetime as datetime

df = pd.DataFrame({'date': ['25/12/2022', datetime.datetime(2023, 12, 30, 0, 0)]})
df['date'] = pd.to_datetime(df['date'])
print(df)

     date
0 2022-12-25
1 2023-12-30

字符串

相关问题