如何根据PythonPandas中的PESEL数计算年龄?
How to calculate age based on PESEL number in Python Pandas?
在我的国家,我们有 PESEL 号码,它由 11 个号码组成。
- 前两位数字表示出生年份 例如:00(表示 2000 年)、95(表示 1995 年)等等...
- 接下来的两个数字表示月份。
- 接下来的两个数字表示星期几。
它看起来像:95050611475,所以在这种情况下:
- 年份是:1995
- 月份是:05
- 天是:06
我有一列 PESEL 数字,如下所示:
我如何根据 PESEL 号码和当前日期计算年龄?
**请注意,如果某人的 PESEL 开头为 00,则表示他出生于 2000 年。
您可以从 PESEL
中提取子字符串并将其转换为 datetime
。然后,您可以从 current timestamp
中 subtract
它。这将为您提供 days
.
中的 time delta
如果您想将此信息转换为 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
在我的国家,我们有 PESEL 号码,它由 11 个号码组成。
- 前两位数字表示出生年份 例如:00(表示 2000 年)、95(表示 1995 年)等等...
- 接下来的两个数字表示月份。
- 接下来的两个数字表示星期几。
它看起来像:95050611475,所以在这种情况下:
- 年份是:1995
- 月份是:05
- 天是:06
我有一列 PESEL 数字,如下所示:
我如何根据 PESEL 号码和当前日期计算年龄?
**请注意,如果某人的 PESEL 开头为 00,则表示他出生于 2000 年。
您可以从 PESEL
中提取子字符串并将其转换为 datetime
。然后,您可以从 current timestamp
中 subtract
它。这将为您提供 days
.
time delta
如果您想将此信息转换为 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