在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 08 Python
Python使用设计模式中的责任链模式与迭代器模式的示例
Mar 02 Python
python3.5使用tkinter制作记事本
Jun 20 Python
Windows下Python2与Python3两个版本共存的方法详解
Feb 12 Python
Python操作mongodb的9个步骤
Jun 04 Python
Python测试网络连通性示例【基于ping】
Aug 03 Python
python 文本单词提取和词频统计的实例
Dec 22 Python
PyQt5下拉式复选框QComboCheckBox的实例
Jun 25 Python
Python实现微信翻译机器人的方法
Aug 13 Python
python中怎么表示空值
Jun 19 Python
Python 捕获代码中所有异常的方法
Aug 03 Python
Python爬虫基础之爬虫的分类知识总结
May 13 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类
2006/10/09 PHP
php Undefined index的问题
2009/06/01 PHP
PHP语法自动检查的Vim插件
2014/08/11 PHP
PHP实现的简单AES加密解密算法实例
2017/05/29 PHP
PHP实现将优酷土豆腾讯视频html地址转换成flash swf地址的方法
2017/08/04 PHP
js过滤HTML标签以及空格的思路及代码
2013/05/24 Javascript
jquery each的几种常用的使用方法示例
2014/01/21 Javascript
百度地图自定义控件分享
2015/03/04 Javascript
jquery实现多屏多图焦点图切换特效的方法
2015/05/04 Javascript
深入理解JS正则表达式---分组
2016/07/18 Javascript
微信小程序开发之圆形菜单 仿建行圆形菜单实例
2016/12/12 Javascript
socket.io学习教程之基础介绍(一)
2017/04/29 Javascript
解决html input验证只能输入数字,不能输入其他的问题
2017/07/21 Javascript
使用json-server简单完成CRUD模拟后台数据的方法
2018/07/12 Javascript
vue 实现v-for循环回来的数据动态绑定id
2019/11/07 Javascript
javascript设计模式 ? 状态模式原理与用法实例分析
2020/04/22 Javascript
python扫描proxy并获取可用代理ip的实例
2017/08/07 Python
python reduce 函数使用详解
2017/12/05 Python
Python3实现爬取指定百度贴吧页面并保存页面数据生成本地文档的方法
2018/04/22 Python
python 读取.csv文件数据到数组(矩阵)的实例讲解
2018/06/14 Python
Django中的文件的上传的几种方式
2018/07/23 Python
python tkinter实现彩球碰撞屏保
2019/07/30 Python
python logging日志模块原理及操作解析
2019/10/12 Python
Python decimal模块使用方法详解
2020/06/08 Python
PyCharm MySQL可视化Database配置过程图解
2020/06/09 Python
python利用pytesseract 实现本地识别图片文字
2020/12/14 Python
HTML5实现音频和视频嵌入的方法
2018/08/22 HTML / CSS
西安当代医院管理研究院笔试题
2015/12/11 面试题
与C++相比,Java中的数组有什么不同
2014/03/25 面试题
生产管理的三大手法
2013/11/11 职场文书
物业管理计划书
2014/01/10 职场文书
考试退步检讨书
2014/01/15 职场文书
Nginx反爬虫策略,防止UA抓取网站
2021/03/31 Servers
k-means & DBSCAN 总结
2021/04/27 Python
Golang: 内建容器的用法
2021/05/05 Golang
HashMap实现保存两个key相同的数据
2021/06/30 Java/Android