最近收到一个求助邮件,他的需求如下:
我是小学的一名统计员,因长期做统计工作,近期,自学一点python,但如何把excel中的8位数出生日期转成年龄,一直做不好,现请您帮忙一下,不知能否帮!
这个问题其实比较简单,做出来的最终形式如下:
主要涉及格式转换和分组统计的需求,那么我们就开始一步一步的完成这一次的任务。
1、读入excel文件
import pandas as pd
file_name = r'学生信息表.xlsx'
data = pd.read_excel(file_name)
data
输出:
2、处理出生日期,转化为时间格式
这次我们用pandas自带的to_datetime函数,好用快捷。
data['出生日期'] = pd.to_datetime(data['出生日期'],format='%Y%m%d')
3、增加一列年龄
引入datetime包,根据当前时间的year减去出生日期得到。
import datetime as dt
now = dt.datetime.today().year
data['周岁'] = now - data['出生日期'].dt.year
输出: