Python 熊猫:一列中有多种日期格式

Python 熊猫:一列中有多种日期格式,python,pandas,python-datetime,Python,Pandas,Python Datetime,我在一个熊猫系列(列)中有两种日期格式,需要标准化为一种格式(mmm dd和mm/dd/YY) 日期 1月3日 1月2日 1月1日 19年12月31日 19年12月30日 19年12月29日 即使是Excel也不会将mmm dd格式识别为日期格式。我可以使用str.replace将mmm更改为完整的月份: df['Date']=df['Date'].str.replace('Jan','一月',regex=True) 但我如何添加当前年份?那么,如何将2020年1月1日转换为2020年1月1日?

我在一个熊猫系列(列)中有两种日期格式,需要标准化为一种格式(mmm dd和mm/dd/YY)

日期

1月3日

1月2日

1月1日

19年12月31日

19年12月30日

19年12月29日

即使是Excel也不会将mmm dd格式识别为日期格式。我可以使用str.replace将mmm更改为完整的月份:

df['Date']=df['Date'].str.replace('Jan','一月',regex=True)

但我如何添加当前年份?那么,如何将2020年1月1日转换为2020年1月1日?

您尝试过解析()吗


如果在数据帧中,请使用以下命令:

from dateutil.parser import parse
import pandas as pd

for i in range(len(df['Date'])):
    df['Date'][i] = parse(df['Date'][i])
df['Date'] = pd.to_datetime(df['Date']).dt.strftime("%d-%m-%Y")
找到解决方案(需要使用):


非常感谢。df['Date']系列是datetime64[ns]类型。在运行代码之前,我首先将其转换为字符串:df['Date']=df['Date'].astype(str)。一旦我这样做了,我就得到了这个错误::5:SettingWithCopyWarning:试图在数据帧的切片副本上设置一个值请参阅文档中的注意事项:df['Date'][I]=parse(df['Date'][I])我得到这个错误:解析器必须是字符串或字符流,而不是序列。我需要解析整个熊猫系列,但实际上只有错误日期格式的行。现在检查答案
from dateutil.parser import parse
import pandas as pd

for i in range(len(df['Date'])):
    df['Date'][i] = parse(df['Date'][i])
df['Date'] = pd.to_datetime(df['Date']).dt.strftime("%d-%m-%Y")
df['date'] = df['date'].apply(dateutil.parser.parse)