前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python数据分析—时间列的基本操作

Python数据分析—时间列的基本操作

作者头像
阿黎逸阳
发布2020-12-11 10:55:59
1.1K0
发布2020-12-11 10:55:59
举报
文章被收录于专栏:阿黎逸阳的代码

在对海量数据进行分析的过程中,可能需要对数据中的时间列进行操作。

比如一个数据框中只有借款人的年龄(类似1994年2月8号),我们想把这一列转换成具体的岁数,放到模型中使用。

这属于特征工程的一部分,我们该怎么操作?

本节教大家如何在python中对数据框进行一些时间列的基本操作。

本文目录

  1. 导入时间处理库datetime
  2. 根据年龄算岁数
  3. 自定义年龄的展示形式
  4. 把字符型的数据转换成时间格式
  5. 对日期格式数据做减法

注意:本文采用的数据框date_frame:

1 导入时间处理库datetime

在python中自带了datetime时间处理库,可以直接导入:

代码语言:javascript
复制
from datetime import datetime

如果想计算2001年2月1号出生的人现在的年龄,可以在python中输入如下语句:

代码语言:javascript
复制
datetime.now().year-w datetime(2001,2,1).year

得到结果如下:

19

2 根据年龄算岁数

如果想把数据框中某一年龄列算出它对应的岁数,可以在python中输入如下语句:

代码语言:javascript
复制
datetime.now().year- date_frame.birthday.dt.year

得到结果如下:

3 自定义年龄的展示形式

如果日期格式是2003-03-13,即年月日都是用-代替的,我们怎么把-替换成我们熟悉的年月日呢?

可以用year、month、day函数把用-表示的时间转化成我们熟悉的形式。

具体语句如下:

代码语言:javascript
复制
date_frame.birthday.dt.year.apply(str)+'年'+date_frame.birthday.dt.month.apply(str)+'月'+date_frame.birthday.dt.day.apply(str)+'日'

得到结果如下:

4 把字符型的数据转换成时间格式

假设我们得到了一列如下的字符格式时间:

代码语言:javascript
复制
['2003-11-3', '2002-2-5', '2000-5-1', '2001-1-1', '2002-3-1', '2004-2-7', '2003-10-9', '2002-5-1']

可以用pd.to_datetime函数把字符格式时间转换成时间格式,具体语句如下:

代码语言:javascript
复制
pd.to_datetime(['2003-11-3', '2002-2-5', '2000-5-1', '2001-1-1', '2002-3-1', '2004-2-7', '2003-10-9', '2002-5-1'])

得到结果如下:

5 对日期格式数据做减法

有时国外学生的生日可能和在我国对应的生日差一天,假设我们要对国外学生的出生日期统一减一天,可以输入如下代码:

代码语言:javascript
复制
from datetime import timedelta
pd.to_datetime(['2003-11-3', '2002-2-5', '2000-5-1', '2001-1-1', '2002-3-1', '2004-2-7', '2003-10-9', '2002-5-1']) + timedelta(days = -1)

得到结果如下:

至此,在python中对时间列进行基本操作已经介绍完毕,大家可以动手练习一下

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-12-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 阿黎逸阳的代码 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档