如何将pandas列中的多格式日期列转换为单一通用日期格式?

我的 CSV 中的一列具有以下日期格式。


5/2/2010

12/2/2010

19-02-2010

26-02-2010

5/3/2010

12/3/2010

19-03-2010

26-03-2010

2/4/2010

9/4/2010

当我读取 csv 文件并打印数据框时,我得到的结果如下所示。


file_path = r'Store_sales.csv'

date_series_data = pd.read_csv(file_path)

date_series_data.head()

输出


05-02-2010      

12-02-2010      

19-02-2010  

26-02-2010  

05-03-2010

当我打印数据类型时,它显示对象数据类型。所以我无法设置为索引。所以我使用 pd.to_datetime(date_series_data)将对象转换为 datetime64[ns]。但前两个元素的日期格式已更改如下


2010-05-02  

2010-12-02  

2010-02-19  

2010-02-26      

2010-03-05

因此我的各种计算都出错了。有没有有效的方法来转换并获得类似的格式?


慕姐8265434
浏览 93回答 1
1回答

蛊毒传说

尝试:import pandas as pd# Read excel filedate_series_data = pd.read_csv(filepath)# 'Date' is the column name which has date entries# I have set time format as YDM. You can change it to other using dt.strftimedate_type_one = pd.to_datetime(date_series_data['Date'], errors='coerce', format='%Y-%d-%m %H:%M:%S').dt.strftime('%Y-%d-%m')date_type_two = pd.to_datetime(date_series_data['Date'], errors='coerce', format='%d-%m-%Y').dt.strftime('%Y-%d-%m')date_series_data['Date'] = date_type_one.fillna(date_type_two)date_series_data.head()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python