在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之不要红头文件(2)
Sep 28 Python
Python聊天室实例程序分享
Jan 05 Python
python模块之sys模块和序列化模块(实例讲解)
Sep 13 Python
Python实现简单的语音识别系统
Dec 13 Python
python如何使用unittest测试接口
Apr 04 Python
Python实现的爬虫刷回复功能示例
Jun 07 Python
python 读取视频,处理后,实时计算帧数fps的方法
Jul 10 Python
详解Django+Uwsgi+Nginx 实现生产环境部署
Nov 06 Python
Python通过cv2读取多个USB摄像头
Aug 28 Python
python通过matplotlib生成复合饼图
Feb 06 Python
Anaconda3+tensorflow2.0.0+PyCharm安装与环境搭建(图文)
Feb 18 Python
python3.5的包存放的具体路径
Aug 16 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/01/06 PHP
PHP实现生成唯一编号(36进制的不重复编号)
2014/07/01 PHP
javaScript - 如何引入js代码
2021/03/09 Javascript
基于JavaScript实现鼠标悬浮弹出跟随鼠标移动的带箭头的信息层
2016/01/18 Javascript
Bootstrap中定制LESS-颜色及导航条(推荐)
2016/11/21 Javascript
Bootstrap基本插件学习笔记之Tooltip提示工具(18)
2016/12/08 Javascript
jQuery Form表单取值的方法
2017/01/11 Javascript
Angular 4 依赖注入学习教程之FactoryProvider的使用(四)
2017/06/04 Javascript
详解Node项目部署到云服务器上
2017/07/12 Javascript
vue配置font-awesome5的方法步骤
2019/01/27 Javascript
小程序云开发之用户注册登录
2019/05/18 Javascript
小程序实现分类页
2019/07/12 Javascript
JavaScript eval()函数定义及使用方法详解
2020/07/07 Javascript
微信小程序实现页面左右滑动
2020/11/16 Javascript
[01:38]2018DOTA2亚洲邀请赛主赛事第二日现场采访 神秘商人痛陈生计不易
2018/04/05 DOTA
为Python程序添加图形化界面的教程
2015/04/29 Python
python opencv 读取本地视频文件 修改ffmpeg的方法
2019/01/26 Python
python实现扫描局域网指定网段ip的方法
2019/04/16 Python
python opencv将表格图片按照表格框线分割和识别
2019/10/30 Python
Python3.6 中的pyinstaller安装和使用教程
2020/03/16 Python
解决pytorch多GPU训练保存的模型,在单GPU环境下加载出错问题
2020/06/23 Python
浅析数据存储的三种方式 cookie sessionstorage localstorage 的异同
2020/06/04 HTML / CSS
美国花布包包品牌:Vera Bradley
2017/08/11 全球购物
Bench加拿大官方网站:英国城市服装品牌
2017/11/03 全球购物
德国前卫设计师时装在线商店:Luxury Loft
2019/11/04 全球购物
机电专业体育教师求职信
2013/09/21 职场文书
给实习单位的感谢信
2014/02/01 职场文书
学习两会精神心得范文
2014/03/17 职场文书
大学生职业生涯规划书汇总
2014/03/20 职场文书
《九寨沟》教学反思
2014/04/08 职场文书
群众路线个人整改方案
2014/10/25 职场文书
旷工辞退通知书
2015/04/17 职场文书
城南旧事电影观后感
2015/06/16 职场文书
Windows10下安装MySQL8
2021/04/06 MySQL
django如何自定义manage.py管理命令
2021/04/27 Python
MySQL事务的ACID特性以及并发问题方案
2022/07/15 MySQL