在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抓取网页时字符集转换问题处理方案分享
Jun 19 Python
pymongo为mongodb数据库添加索引的方法
May 11 Python
改进Django中的表单的简单方法
Jul 17 Python
通过数据库对Django进行删除字段和删除模型的操作
Jul 21 Python
python 文件操作api(文件操作函数)
Aug 28 Python
快速实现基于Python的微信聊天机器人示例代码
Mar 03 Python
hmac模块生成加入了密钥的消息摘要详解
Jan 11 Python
Python交互式图形编程的实现
Jul 25 Python
使用Keras实现Tensor的相乘和相加代码
Jun 18 Python
jupyter notebook快速入门及使用详解
Nov 13 Python
浅谈python数据类型及其操作
May 25 Python
python区块链持久化和命令行接口实现简版
May 25 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代码重构工具推荐
2014/10/14 PHP
PHP实现动态柱状图改进版
2015/03/30 PHP
php中删除、清空session的方式总结
2015/10/09 PHP
PHP实现微信提现功能(微信商城)
2019/11/21 PHP
载入进度条 效果
2006/07/08 Javascript
js创建元素(节点)示例
2014/01/02 Javascript
javascript定义变量时带var与不带var的区别分析
2015/01/12 Javascript
JavaScript实现列表分页功能特效
2015/05/15 Javascript
100行代码理解和分析vue2.0响应式架构
2017/03/09 Javascript
bootstrap fileinput插件实现预览上传照片功能
2018/01/23 Javascript
vue将对象新增的属性添加到检测序列的方法
2018/02/24 Javascript
了解在JavaScript中将值转换为字符串的5种方法
2019/06/06 Javascript
Vue 列表页带参数进详情页的操作(router-link)
2020/11/13 Javascript
五句话帮你轻松搞定js原型链
2020/12/09 Javascript
使用python在校内发人人网状态(人人网看状态)
2014/02/19 Python
在Django中创建动态视图的教程
2015/07/15 Python
Python使用matplotlib绘制正弦和余弦曲线的方法示例
2018/01/06 Python
使用 Python 实现文件递归遍历的三种方式
2018/07/18 Python
python程序快速缩进多行代码方法总结
2019/06/23 Python
Python利用逻辑回归模型解决MNIST手写数字识别问题详解
2020/01/14 Python
Python Numpy 控制台完全输出ndarray的实现
2020/02/19 Python
记录一下scrapy中settings的一些配置小结
2020/09/28 Python
使用css3实现的windows8开机加载动画
2014/12/09 HTML / CSS
Big Green Smile德国网上商店:提供各种天然产品
2018/05/23 全球购物
在线购买澳大利亚设计师手拿包和奢华晚装手袋:Olga Berg
2019/03/20 全球购物
.NET常见笔试题集
2012/12/01 面试题
消防工作实施方案
2014/06/09 职场文书
会计学专业求职信
2014/07/17 职场文书
租房安全协议书
2014/08/20 职场文书
民警群众路线教育实践活动对照检查材料
2014/10/04 职场文书
2015年村党支部工作总结
2015/04/30 职场文书
小学中队活动总结
2015/05/11 职场文书
给下属加薪申请报告
2015/05/15 职场文书
青少年法制教育心得体会
2016/01/14 职场文书
2019最新版股权转让及委托持股协议书范本
2019/08/07 职场文书
使用css样式设计一个简单的html登陆界面的实现
2021/03/30 HTML / CSS