python把某列改为日期格式_Python Pandas转换日期格式:将yyyy/m/d转换为yyyymmdd

在处理数据时,遇到日期格式不统一的问题。本文介绍了如何使用Python的Pandas库将'yyyy/m/d'格式的日期转换为'yyyymmdd'格式,通过创建year、month、day列并进行字符串操作实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

大数据时代的网络到处堆积着数据,自由生长,没有标准,即使是一个日期,就有好几种格式。比如某个网站有一年内的美元人民币汇率历史数据(已下载成excel文件,用pd.read_excel语句转成dataframe),日期的格式如图一:

data = pd.read_excel('美元人民币.xlsx', sheet_name='HistoryExchangeReport')

data = data[['日期', '比率']]图一

平时处理的日期格式通常是yyyymmdd,或是yyyy-mm-dd。Excel没法简单地实现。在网上查python,也没有很好的办法,只能自己冥思苦想了一天有余,终于让我找到解决之道。一共用了6句语句,就达到了目的。

我使用python pandas有一年有余,并熟悉字符操作和lambda函数,才找到这个方法,所以想分享自己的经验。

下面4句的作用就是根据日期列生成year、 month、 day列,使用了if语句,如果月或日的长度为1,前面就加0,这样一位数就转换成两位数了,效果如图二。

data['日期'] = data['日期'].str.split('/')

data['year'] = data['日期'].apply(lambda x: x[0])

data['month'] = data['日期'].apply(lambda x: x[1] if len(x[1]) == 2 else str(0) + x[1])

data['day'] = data['日期'].apply(lambda x: str(0) + x[2][0:-4] if len(x[2][0:-4]) == 1 else x[2][0:-4])图二

接着将year、 month、 day列合成新列“trade_date”,格式就是yyyymmdd。

data['trade_date'] = data['year'] + data['month'] + data['day']

图三

最后只取所需要的列,效果见图四。

data = data[['trade_date', '比率']]图四

推荐一篇Python Pandas教程。学好pandas, 各种数据分析都不怕!yeayee:Python Pandas教程推荐,全网最佳,没有之一​zhuanlan.zhihu.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值