已知生日,求年龄,pandas实现

本文介绍如何使用Python的Pandas库从生日数据中计算年龄。通过将DataFrame中的生日列转换为datetime格式,并利用当前年份减去出生年份,得到每个人的年龄。此方法适用于批量数据处理。

今天在群里遇到个问题,已经知道生日怎么计算出年龄,注意有个知识点  pandas.Series.dt  可以将serices数据类型与datetime类型进行计算。感谢原文作者https://blog.youkuaiyun.com/zhangjy3738/article/details/82179689。

import pandas as pd
import datetime
dict = {'生日':["1993-01-01","2018-09-01","2018-10-10"],
        '姓名':["张三","李四","王五"]}
data = pd.DataFrame(dict)  # 由字典转换成dataframe
data["生日"] = pd.to_datetime(data["生日"])  # 转换成时间格式
print(type(data["生日"]))  # 类型仍然是 series

today = datetime. datetime.today().year  # 这是今年的时间
print(type(today))  # 类型是int

data["年龄"] = today - data["生日"].dt.year   # 这里这里的  dt  是一个方法,不要出错哦
print(data)


# 输出结果
# <class 'pandas.core.series.Series'>
# <class 'int'>
#    姓名         生日  年龄
# 0  张三 1993-01-01  25
# 1  李四 2018-09-01   0
# 2  王五 2018-10-10   0

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值