在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 Mysql数据库操作 Perl操作Mysql数据库
Jan 12 Python
使用Python通过win32 COM打开Excel并添加Sheet的方法
May 02 Python
matplotlib 纵坐标轴显示数据值的实例
May 25 Python
Python实现拷贝/删除文件夹的方法详解
Aug 29 Python
Centos部署django服务nginx+uwsgi的方法
Jan 02 Python
解决Python找不到ssl模块问题 No module named _ssl的方法
Apr 29 Python
Python使用pyserial进行串口通信的实例
Jul 02 Python
python requests更换代理适用于IP频率限制的方法
Aug 21 Python
opencv3/C++实现视频读取、视频写入
Dec 11 Python
如何基于python操作json文件获取内容
Dec 24 Python
python求前n个阶乘的和实例
Apr 02 Python
Python还能这么玩之只用30行代码从excel提取个人值班表
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
我的论坛源代码(七)
2006/10/09 PHP
PHP实现多条件查询实例代码
2010/07/17 PHP
yii2 RBAC使用DbManager实现后台权限判断的方法
2016/07/23 PHP
Yii2中Restful API原理实例分析
2016/07/25 PHP
php设计模式之职责链模式实例分析【星际争霸游戏案例】
2020/03/27 PHP
PHP超全局变量实现原理及代码解析
2020/09/01 PHP
基于jquery自定义图片热区效果
2012/07/21 Javascript
nodejs npm install全局安装和本地安装的区别
2014/06/05 NodeJs
JavaScript实现向右伸出的多级网页菜单效果
2015/08/25 Javascript
JavaScript去掉数组重复项的方法分析【测试可用】
2018/07/19 Javascript
Vue 理解之白话 getter/setter详解
2019/04/16 Javascript
vue通过数据过滤实现表格合并
2020/11/30 Javascript
vue.js 2.0实现简单分页效果
2019/07/29 Javascript
使用Python抓取模板之家的CSS模板
2015/03/16 Python
Python continue继续循环用法总结
2018/06/10 Python
Django模板语言 Tags使用详解
2019/09/09 Python
Python 私有化操作实例分析
2019/11/21 Python
pandas.DataFrame.drop_duplicates 用法介绍
2020/07/06 Python
嘻哈珠宝品牌:KRKC&CO
2020/10/19 全球购物
期末总结的个人自我评价
2013/11/02 职场文书
电子商务专业推荐信范文
2013/12/02 职场文书
实验室标语
2014/06/21 职场文书
卖车协议书范例
2014/09/16 职场文书
明星邀请函
2015/02/02 职场文书
2015年学生会干事工作总结
2015/04/09 职场文书
2015年乡镇妇联工作总结
2015/05/19 职场文书
2015年污水处理厂工作总结
2015/05/26 职场文书
永远是春天观后感
2015/06/12 职场文书
2016小学新学期寄语
2015/12/04 职场文书
2016干部作风整顿心得体会
2016/01/22 职场文书
求职自荐信该如何书写?
2019/06/24 职场文书
竞选稿之小学班干部
2019/10/31 职场文书
CSS 文字装饰 text-decoration & text-emphasis 详解
2021/04/06 HTML / CSS
详解MySQL 用户权限管理
2021/04/20 MySQL
详解RedisTemplate下Redis分布式锁引发的系列问题
2021/04/27 Redis
浅谈Laravel中使用Slack进行异常通知
2021/05/29 PHP