在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 14 Python
Python3中类、模块、错误与异常、文件的简易教程
Nov 20 Python
Python操作mysql数据库实现增删查改功能的方法
Jan 15 Python
Python使用matplotlib实现绘制自定义图形功能示例
Jan 18 Python
Python网络编程之TCP与UDP协议套接字用法示例
Feb 02 Python
Python常见MongoDB数据库操作实例总结
Jul 24 Python
Python在Matplotlib图中显示中文字体的操作方法
Jul 29 Python
TensorFlow通过文件名/文件夹名获取标签,并加入队列的实现
Feb 17 Python
在python中使用pymysql往mysql数据库中插入(insert)数据实例
Mar 02 Python
Python中使用filter过滤列表的一个小技巧分享
May 02 Python
Keras自定义实现带masking的meanpooling层方式
Jun 16 Python
从python读取sql的实例方法
Jul 21 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 socket实现的聊天室代码分享
2014/08/16 PHP
PHP远程调试之XDEBUG
2015/12/29 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
js 获取子节点函数 (兼容FF与IE)
2010/04/18 Javascript
jQuery Validation实例代码 让验证变得如此容易
2010/10/18 Javascript
jquery插件珍藏(图片局部放大/信息提示框)
2013/01/08 Javascript
js 单击式的下拉菜单效果实例
2013/08/13 Javascript
jquery配合css简单实现返回顶部效果
2013/09/30 Javascript
JS中使用变量保存arguments对象的方法
2016/06/03 Javascript
基于jQuery.validate及Bootstrap的tooltip开发气泡样式的表单校验组件思路详解
2016/07/18 Javascript
Vue.js路由vue-router使用方法详解
2017/03/20 Javascript
VueJs 将接口用webpack代理到本地的方法
2017/11/27 Javascript
解决VUEX兼容IE上的报错问题
2018/03/01 Javascript
vue源码学习之Object.defineProperty对象属性监听
2018/05/30 Javascript
vue.js计算属性computed用法实例分析
2018/07/06 Javascript
解决vue-cli脚手架打包后vendor文件过大的问题
2018/09/27 Javascript
JS代码检查工具ESLint介绍与使用方法
2020/02/04 Javascript
在vs code 中如何创建一个自己的 Vue 模板代码
2020/11/10 Javascript
python中常用的九种预处理方法分享
2016/09/11 Python
Python应用领域和就业形势分析总结
2019/05/14 Python
详解numpy矩阵的创建与数据类型
2019/10/18 Python
python利用文件时间批量重命名照片和视频
2021/02/09 Python
CSS3 Media Queries详细介绍和使用实例
2014/05/08 HTML / CSS
如何估计一张表的大小(假设该表中有1万条数据)
2016/03/27 面试题
说一下Linux下有关用户和组管理的命令
2014/08/18 面试题
【魔兽争霸3重制版】原版画面与淬火MOD画面对比
2021/03/26 魔兽争霸
机电一体化毕业生求职信
2013/11/02 职场文书
简历自我评价模版
2014/01/31 职场文书
2014年大学生四年规划书范文
2014/04/03 职场文书
县级领导干部开展党的群众路线教育实践活动工作汇报
2014/10/25 职场文书
2015年世界环境日演讲稿
2015/03/18 职场文书
男人帮观后感
2015/06/18 职场文书
k-means & DBSCAN 总结
2021/04/27 Python
Python中for后接else的语法使用
2021/05/18 Python
PostgreSQL数据库去除重复数据和运算符的基本查询操作
2022/04/12 PostgreSQL
Python 绘制多因子柱状图
2022/05/11 Python