为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕姐8265434 2023-09-05 15:09:45
我的 CSV 中的一列具有以下日期格式。5/2/201012/2/201019-02-201026-02-20105/3/201012/3/201019-03-201026-03-20102/4/20109/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因此我的各种计算都出错了。有没有有效的方法来转换并获得类似的格式?
查看完整描述

1 回答

?
蛊毒传说

TA贡献1895条经验 获得超3个赞

尝试:


import pandas as pd


# Read excel file

date_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.strftime

date_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()

查看完整回答
反对 回复 2023-09-05
  • 1 回答
  • 0 关注
  • 91 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信