在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求众数问题实例
Sep 26 Python
在Python的Django框架中实现Hacker News的一些功能
Apr 17 Python
python通过邮件服务器端口发送邮件的方法
Apr 30 Python
python学习数据结构实例代码
May 11 Python
Python中的id()函数指的什么
Oct 17 Python
Django Rest framework频率原理与限制
Jul 26 Python
python+selenium+Chrome options参数的使用
Mar 18 Python
Python 执行矩阵与线性代数运算
Aug 01 Python
DRF框架API版本管理实现方法解析
Aug 21 Python
Kmeans均值聚类算法原理以及Python如何实现
Sep 26 Python
opencv python 对指针仪表读数识别的两种方式
Jan 14 Python
PyTorch梯度裁剪避免训练loss nan的操作
May 24 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/08/08 PHP
smarty内置函数section的用法
2015/01/22 PHP
thinkPHP5实现的查询数据库并返回json数据实例
2017/10/23 PHP
jQuery模拟超链接点击效果代码
2013/04/21 Javascript
浅谈jQuery中 wrap() wrapAll() 与 wrapInner()的差异
2014/11/12 Javascript
深入解析JavaScript中的arguments对象
2016/06/12 Javascript
基于MVC+EasyUI的web开发框架之使用云打印控件C-Lodop打印页面或套打报关运单信息
2016/08/29 Javascript
Dropzone.js实现文件拖拽上传功能(附源码下载)
2016/11/22 Javascript
vue .sync修饰符的使用详解
2018/06/15 Javascript
jQuery UI实现动画效果代码分享
2018/08/19 jQuery
玩转Koa之核心原理分析
2018/12/29 Javascript
vue.js+elementUI实现点击左右箭头切换头像功能(类似轮播图效果)
2019/09/05 Javascript
Vue v-bind动态绑定class实例方法
2020/01/15 Javascript
[06:04]DOTA2国际邀请赛纪录片:Just For LGD
2013/08/11 DOTA
python实现网页链接提取的方法分享
2014/02/25 Python
Python生成8位随机字符串的方法分析
2017/12/05 Python
简单了解Django模板的使用
2017/12/20 Python
Python输出由1,2,3,4组成的互不相同且无重复的三位数
2018/02/01 Python
python爬取网页转换为PDF文件
2018/06/07 Python
详解Django+Uwsgi+Nginx的生产环境部署
2018/06/25 Python
python通过zabbix api获取主机
2018/09/17 Python
Python获取网段内ping通IP的方法
2019/01/31 Python
python实现门限回归方式
2020/02/29 Python
Anconda环境下Vscode安装Python的方法详解
2020/03/29 Python
工程造价自荐信
2013/10/09 职场文书
行政主管岗位职责
2013/11/18 职场文书
普通院校学生的自荐信
2013/11/27 职场文书
银行开业庆典方案
2014/02/06 职场文书
颁奖典礼主持词
2014/03/25 职场文书
经销商订货会主持词
2014/03/27 职场文书
餐饮服务员岗位职责
2015/02/09 职场文书
管理失职检讨书范文
2015/05/05 职场文书
因身体原因离职的辞职信范文
2015/05/12 职场文书
导游词之安徽巢湖
2019/12/26 职场文书
详解TypeScript中的类型保护
2021/04/29 Javascript
MySQL中int (10) 和 int (11) 的区别
2022/01/22 MySQL