有没有办法将日期(不同格式)转换为 python 中的标准化格式?
Is there a way to covert date (with different format) into a standardized format in python?
我有一个名为“日期”的列,它是一个对象,它具有非常不同的日期格式,例如 dd.m.yy、dd.mm.yyyy、dd/mm/yyyy、dd/mm、m/d/yyyy 等如下。显然,简单地使用 df['date'] = pd.to_datetime(df['date']) 是行不通的。我想知道这样混乱的日期值,是否有标准化并将日期隐藏为一种单一格式?
date
17.2.22 # means Feb 17 2022
23.02.22 # means Feb 23 2022
17/02/2022 # means Feb 17 2022
18.2.22 # means Feb 18 2022
2/22/2022 # means Feb 22 2022
3/1/2022 # means March 1 2022
<more messy different format>
将日期强制转换为日期时间并允许将无效条目转换为 nulls.Also,允许 pandas 推断格式。下面的代码
df['date'] = pd.to_datetime(df['date'], errors='coerce',infer_datetime_format=True)
date
0 2022-02-17
1 2022-02-23
2 2022-02-17
3 2022-02-18
4 2022-02-22
5 2022-03-01
基于wwnde的解决方案,以下在我的真实数据集中有效-
df['date'].fillna('',inplace=True)
df['date'] = df['date'].astype('str')
df['date new'] = df['date'].str.replace('.','/')
df['date new'] = pd.to_datetime(df['date new'],
errors='coerce',infer_datetime_format=True)
我有一个名为“日期”的列,它是一个对象,它具有非常不同的日期格式,例如 dd.m.yy、dd.mm.yyyy、dd/mm/yyyy、dd/mm、m/d/yyyy 等如下。显然,简单地使用 df['date'] = pd.to_datetime(df['date']) 是行不通的。我想知道这样混乱的日期值,是否有标准化并将日期隐藏为一种单一格式?
date
17.2.22 # means Feb 17 2022
23.02.22 # means Feb 23 2022
17/02/2022 # means Feb 17 2022
18.2.22 # means Feb 18 2022
2/22/2022 # means Feb 22 2022
3/1/2022 # means March 1 2022
<more messy different format>
将日期强制转换为日期时间并允许将无效条目转换为 nulls.Also,允许 pandas 推断格式。下面的代码
df['date'] = pd.to_datetime(df['date'], errors='coerce',infer_datetime_format=True)
date
0 2022-02-17
1 2022-02-23
2 2022-02-17
3 2022-02-18
4 2022-02-22
5 2022-03-01
基于wwnde的解决方案,以下在我的真实数据集中有效-
df['date'].fillna('',inplace=True)
df['date'] = df['date'].astype('str')
df['date new'] = df['date'].str.replace('.','/')
df['date new'] = pd.to_datetime(df['date new'],
errors='coerce',infer_datetime_format=True)