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

  在对海量数据进行分析的过程中,可能需要对数据中的时间列进行操作。比如一个数据框中只有借款人的年龄(类似1994年2月8号),我们想把这一列转换成具体的岁数,放到模型中使用。这属于特征工程的一部分,我们该怎么操作?
  
  


  
本文教大家如何在python中对数据框进行一些时间列的基本操作。注意:本文采用的数据框 date_frame
  
在这里插入图片描述

  
  

1 导入时间处理库datetime

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

from datetime import datetime

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

datetime.now().year-w datetime(2001,2,1).year

  
得到结果如下:
  
       19
  
  

2 根据年龄算岁数

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

datetime.now().year- date_frame.birthday.dt.year

  
得到结果如下:
  
在这里插入图片描述

  
  

3 自定义年龄的展示形式

  
如果日期格式是2003-03-13,即年月日都是用-代替的,我们怎么把-替换成我们熟悉的年月日呢?可以用year、month、day函数把用-表示的时间转化成我们熟悉的形式。
  
具体语句如下:
  

date_frame.birthday.dt.year.apply(str)+'年'+date_frame.birthday.dt.month.apply(str)+'月'+date_frame.birthday.dt.day.apply(str)+'日'

  
得到结果如下:
  
在这里插入图片描述

  
  

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

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

['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函数把字符格式时间转换成时间格式,具体语句如下:
  

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 对日期格式数据做减法

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

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中对时间列进行基本操作已经介绍完毕,大家可以动手练习一下。
  
你可能感兴趣:
用Python绘制皮卡丘
用Python绘制词云图
Python人脸识别—我的眼里只有你
Python画好看的星空图(唯美的背景)
用Python中的py2neo库操作neo4j,搭建关联图谱
Python浪漫表白源码合集(爱心、玫瑰花、照片墙、星空下的告白)

长按(扫一扫)识别上方二维码学习更多Python和建模知识,让你的学习和工作更出彩。

Guess you like

Origin blog.csdn.net/qq_32532663/article/details/110578911