在Python dataframe中出生日期转化为年龄的实现方法


Posted in Python onOctober 20, 2018

我们在做数据挖掘项目或大数据竞赛时,如果个体是人的时候,获得的数据中可能有出生日期的Series,举个简单例子,比如这样的一些数:

# -*- coding: utf-8 -*-
import pandas as pd
from pandas import Series, DataFrame
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt %matplotlib inline
data = {'birth': ['10/8/00', '7/21/93', '6/14/01', '5/18/99', '1/5/98']}
frame = DataFrame(data)
frame

在Python dataframe中出生日期转化为年龄的实现方法

从数据来看,'10/8/00'之类的数,最左边的数表示月份,中间的数表示日,最后的数表示年度。

实际上我们在分析时并不需要人的出生日期,而是需要年龄,不同的年龄阶段会有不同的状态,比如收入、健康、居住条件等等,且能够很好地把不同样本的差异性进行大范围的划分,而不是像出生日期那样包含信息量过大且在算法训练时不好作为有效数据进行训练,age是一个很好地特征工程指示变量。

那如何把上述birth数据变为年龄age呢?

在这里用到datetime这个库,如下:

(1)首先把birth转化为标准时间格式

frame['birth'] = pd.to_datetime(frame['birth'])
frame

在Python dataframe中出生日期转化为年龄的实现方法 

(2)获取当前时间的年份,并减去birth的年份

import datetime as dt
now_year =dt.datetime.today().year #当前的年份
frame['age']=now_year-frame.birth.dt.year
frame

在这里使用了dt.datetime.today().year来获取当前日期的年份,然后将birth数据中的年份数据提取出来(frame.birth.dt.year),两者相减就得到需要的年龄数据,如下:

在Python dataframe中出生日期转化为年龄的实现方法

有时候我们可能还会关注到人的出生月份与要预测变量的关系,比如人的星座就是很流行的一种以出生月份、日份来评估其对人的影响,也可以按这种方法去提取月、日数据。

总结

以上所述是小编给大家介绍的在Python dataframe中出生日期转化为年龄的实现方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
极简的Python入门指引
Apr 01 Python
使用beaker让Facebook的Bottle框架支持session功能
Apr 23 Python
Python实现SSH远程登陆,并执行命令的方法(分享)
May 08 Python
简单谈谈python中的lambda表达式
Jan 19 Python
对python判断是否回文数的实例详解
Feb 08 Python
PyQt5 在label显示的图片中绘制矩形的方法
Jun 17 Python
如何通过Python实现标签云算法
Jul 02 Python
使用virtualenv创建Python环境及PyQT5环境配置的方法
Sep 10 Python
Python基本语法之运算符功能与用法详解
Oct 22 Python
详解opencv中画圆circle函数和椭圆ellipse函数
Dec 27 Python
python实现高效的遗传算法
Apr 07 Python
Python中requests库的用法详解
Jun 05 Python
Django中的ajax请求
Oct 19 #Python
Tesserocr库的正确安装方式
Oct 19 #Python
Python中Proxypool库的安装与配置
Oct 19 #Python
在cmder下安装ipython以及环境的搭建
Oct 19 #Python
破解安装Pycharm的方法
Oct 19 #Python
使用Selenium破解新浪微博的四宫格验证码
Oct 19 #Python
Selenium的使用详解
Oct 19 #Python
You might like
php 魔术函数使用说明
2010/02/21 PHP
浅析php中json_encode()和json_decode()
2014/05/25 PHP
ThinkPHP调试模式与日志记录概述
2014/08/22 PHP
PHP中session跨子域的三种实现方法
2016/07/25 PHP
yii的入口文件index.php中为什么会有这两句
2016/08/04 PHP
PHP使用PDO抽象层获取查询结果的方法示例
2018/05/10 PHP
基础的prototype.js常用函数及其用法
2007/03/10 Javascript
jquery动画3.创建一个带遮罩效果的图片走廊
2012/08/24 Javascript
jQuery的each终止或跳过示例代码
2013/12/12 Javascript
JavaScript基本数据类型及值类型和引用类型
2015/08/25 Javascript
javascript中的 object 和 function小结
2016/08/14 Javascript
Javascript中函数名.length属性用法分析(对比arguments.length)
2016/09/16 Javascript
JavaScript和jQuery制作光棒效果
2017/02/24 Javascript
jQuery的Ajax接收java返回数据方法
2018/08/11 jQuery
实例详解ztree在vue项目中使用并且带有搜索功能
2018/08/24 Javascript
手把手教你使用TypeScript开发Node.js应用
2019/05/06 Javascript
微信小程序自定义弹窗滚动与页面滚动冲突的解决方法
2019/07/16 Javascript
[01:07:41]IG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
[04:14]从西雅图到上海——玩家自制DOTA2主题歌曲应援TI9
2019/07/11 DOTA
python非递归全排列实现方法
2017/04/10 Python
Python中defaultdict与lambda表达式用法实例小结
2018/04/09 Python
python让列表倒序输出的实例
2018/06/25 Python
python合并已经存在的sheet数据到新sheet的方法
2018/12/11 Python
利用PyQt中的QThread类实现多线程
2020/02/18 Python
python 工具 字符串转numpy浮点数组的实现
2020/03/14 Python
django实现后台显示媒体文件
2020/04/07 Python
python的help函数如何使用
2020/06/11 Python
CSS3实现同时执行倾斜和旋转的动画效果
2016/10/27 HTML / CSS
KIEHL’S科颜氏官方旗舰店:源自美国的顶级护肤品牌
2018/06/07 全球购物
北大研究生linux应用求职信
2013/10/29 职场文书
安全教育实施方案
2014/03/02 职场文书
大学生学习新党章思想汇报
2014/10/25 职场文书
2014年体育教学工作总结
2014/12/09 职场文书
食品质检员岗位职责
2015/04/08 职场文书
美容院管理规章制度
2015/08/05 职场文书
为什么在foreach循环中JAVA集合不能添加或删除元素
2021/06/11 Java/Android