【问题标题】:How to calculate age based on PESEL number in Python Pandas?如何根据 Python Pandas 中的 PESEL 数计算年龄?
【发布时间】:2021-08-25 03:02:58
【问题描述】:

在我国,PESEL 号码由 11 个数字组成。

  • 前两个数字表示出生年份,例如:00(表示 2000 年)、95(表示 1995 年)等等...
  • 接下来的两个数字表示月份。
  • 接下来的两个数字表示日期。

看起来像:95050611475,所以在这种情况下:

  • 年份是:1995
  • 月份是:05
  • 今天是:06

我有如下 PESEL 编号的列:

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

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

【问题讨论】:

    标签: python pandas numpy math aggregation


    【解决方案1】:

    您可以从PESEL 中提取子字符串并将其转换为datetime。然后,您可以从current timestampsubtract。这将为您提供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
    

    【讨论】:

      猜你喜欢
      • 2021-12-05
      • 1970-01-01
      • 2011-05-26
      • 2021-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      相关资源
      最近更新 更多