在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 13 Python
python时间日期函数与利用pandas进行时间序列处理详解
Mar 13 Python
python3安装pip3(install pip3 for python 3.x)
Apr 03 Python
python 拼接文件路径的方法
Oct 23 Python
Python Django框架实现应用添加logging日志操作示例
May 17 Python
python中比较两个列表的实例方法
Jul 04 Python
Python3实现二叉树的最大深度
Sep 30 Python
使用Python FastAPI构建Web服务的实现
Jun 08 Python
Python创建自己的加密货币的示例
Mar 01 Python
Python标准库之typing的用法(类型标注)
Jun 02 Python
python前后端自定义分页器
Apr 13 Python
python多次执行绘制条形图
Apr 20 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 clearstatcache()函数详解
2010/03/02 PHP
利用php获取服务器时间的实现代码
2013/06/07 PHP
php中使用session_set_save_handler()函数把session保存到MySQL数据库实例
2014/11/06 PHP
php将字符串转换成16进制的方法
2015/03/17 PHP
iis 7下安装laravel 5.4环境的方法教程
2017/06/14 PHP
laravel框架与其他框架的详细对比
2019/10/23 PHP
laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例
2020/02/18 PHP
用JS实现一个页面多个css样式实现
2008/05/29 Javascript
20款效果非常棒的 jQuery 插件小结分享
2011/11/18 Javascript
关于 文本框默认值 的操作js代码
2012/01/12 Javascript
jQuery超赞的评分插件(8款)
2015/08/20 Javascript
谈谈jQuery Ajax用法详解
2015/11/27 Javascript
JS三级可折叠菜单实现方法
2016/02/29 Javascript
动态的9*9乘法表效果的实现代码
2016/05/16 Javascript
JavaScript_ECMA5数组新特性详解
2016/06/12 Javascript
jQuery插件ajaxFileUpload异步上传文件
2016/10/19 Javascript
Javascript之面向对象--方法
2016/12/02 Javascript
AngularJS改变元素显示状态
2017/04/20 Javascript
Angular2+国际化方案(ngx-translate)的示例代码
2017/08/23 Javascript
JS中的回调函数实例浅析
2018/03/21 Javascript
JavaScript实现图片伪异步上传过程解析
2020/04/10 Javascript
python机器学习理论与实战(一)K近邻法
2021/01/28 Python
详解如何利用Cython为Python代码加速
2018/01/27 Python
修复 Django migration 时遇到的问题解决
2018/06/14 Python
使用Pandas对数据进行筛选和排序的实现
2019/07/29 Python
解决Django连接db遇到的问题
2019/08/29 Python
详解canvas绘制多张图的排列顺序问题
2019/01/21 HTML / CSS
Topman美国官网:英国著名的国际平价时尚男装品牌
2017/12/22 全球购物
英国假睫毛购买网站:FalseEyelashes.co.uk
2018/05/23 全球购物
切尔西足球俱乐部官方网上商店:Chelsea FC
2019/06/17 全球购物
大学在校生求职信范文
2013/11/21 职场文书
职业女性的职业规划
2014/03/04 职场文书
副总经理岗位职责范本
2015/04/08 职场文书
《迟到》教学反思
2016/02/24 职场文书
干货:如何写好工作计划!
2019/05/17 职场文书
JavaGUI模仿QQ聊天功能完整版
2021/07/04 Java/Android