在Pandas中把出生日期转换为年龄可以遵循以下步骤:
- 读取包含出生日期的数据集
import pandas as pd
df = pd.read_csv('data.csv')
- 将出生日期列转换为时间戳格式
df['出生日期'] = pd.to_datetime(df['出生日期'])
- 计算当前日期与出生日期之间的时间差,并转换为年龄
today = pd.Timestamp('now')
df['年龄'] = (today - df['出生日期']).astype('<m8[Y]')
完整实例:
假设现在有一个名叫data.csv的数据集,包含学生的姓名和出生日期,我们想要计算出每个学生的年龄。数据集如下:
姓名,出生日期
李明,1999-01-01
张三,2000-02-28
王五,1998-12-05
按照上述三个步骤操作:
import pandas as pd
# 读取数据集
df = pd.read_csv('data.csv')
# 将出生日期列转换为时间戳格式
df['出生日期'] = pd.to_datetime(df['出生日期'])
# 计算当前日期与出生日期之间的时间差,并转换为年龄
today = pd.Timestamp('now')
df['年龄'] = (today - df['出生日期']).astype('<m8[Y]')
# 输出转换后的数据集
print(df)
输出结果为:
姓名 出生日期 年龄
0 李明 1999-01-01 21.0
1 张三 2000-02-28 20.0
2 王五 1998-12-05 22.0
其中,年龄保留了一位小数,这是因为实际计算中使用的是时间戳。如果需要整数年龄可以使用 round() 函数进行四舍五入。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:在Pandas中把出生日期转换为年龄 - Python技术站