db2日期格式转换为yyyymmdd_Python Pandas转换日期格式:将yyyy/m/d转换为yyyymmdd

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

data = pd.read_excel('美元人民币.xlsx', sheet_name='HistoryExchangeReport')
data = data[['日期', '比率']] 

0038b69f281622aad683a0c5636106e5.png
图一

平时处理的日期格式通常是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])

2b8b5f7a6cf288c5beb364e04aed4856.png
图二

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

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

35c1f22bc605a017e3846b42232d64ae.png
图三

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

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

eef7ed1d7c659ec5651254f496441b60.png
图四

推荐一篇Python Pandas教程。学好pandas, 各种数据分析都不怕!

yeayee:Python Pandas教程推荐,全网最佳,没有之一​zhuanlan.zhihu.com
492ce19fd0cae010f6e5ca99d00c151f.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值