如何根据Python熊猫的PESEL数计算年龄?

如何根据Python熊猫的PESEL数计算年龄?,python,pandas,numpy,math,aggregation,Python,Pandas,Numpy,Math,Aggregation,在我国,我们有由11个数字组成的佩塞尔数字 前两个数字表示出生年份,例如:00(表示2000年)、95(表示1995年)等等 接下来的两个数字表示月份 接下来的两个数字表示一天 看起来是这样的:9505061475,所以在本例中: 年份:1995年 月份是:05 日期:06 我有一列PESEL编号,如下所示: 我如何根据PESEL编号和当前日期计算年龄 **请注意,如果某人在PESEL开头有00,则表示他出生于2000年。您可以从PESEL提取子字符串,并将其转换为datetime。然

在我国,我们有由11个数字组成的佩塞尔数字

  • 前两个数字表示出生年份,例如:00(表示2000年)、95(表示1995年)等等
  • 接下来的两个数字表示月份
  • 接下来的两个数字表示一天
看起来是这样的:9505061475,所以在本例中:

  • 年份:1995年
  • 月份是:05
  • 日期:06
我有一列PESEL编号,如下所示:

我如何根据PESEL编号和当前日期计算年龄


**请注意,如果某人在PESEL开头有00,则表示他出生于2000年。

您可以从
PESEL
提取子字符串,并将其转换为
datetime
。然后,您可以从
当前时间戳
中减去它。这将在
天内为您提供
时间增量

如果要将此信息转换为
year
,可以将结果除以
np.timedelta64(1,'Y')

df['age'] = (pd.Timestamp.now() - pd.to_datetime(df.PESEL.str[:6], format = '%y%m%d')) / np.timedelta64(1, 'Y')
         PESEL        age
0  95050611475  26.093457
1  00112575862  20.535506