美文网首页
pyspark 根据年月计算年龄

pyspark 根据年月计算年龄

作者: 大锤强无敌 | 来源:发表于2020-06-30 11:10 被阅读0次

已知年份和月份计算年龄

image.png
#将年月拼接如:1991-03
df = df.withColumn('bir',F.concat_ws('-',df.ageY,df.ageM))
#将字符串转换为日期如:1991-03-01
df = df.withColumn('bir',F.to_date(df.bir))
#计算当前日期与指定日期的月份差如:287.1254
df = df.withColumn('diff',F.months_between(F.current_date(),df.bir))
#将月份差向下取整(未到生日的月则年龄不会增长)
df = df.withColumn('age',(df.diff/12).cast(IntegerType()))
#删除多余的列
df = df.drop('diff','bir')

结果如下图(请忽略sex):


image.png

相关文章

网友评论

      本文标题:pyspark 根据年月计算年龄

      本文链接:https://www.haomeiwen.com/subject/llwtqktx.html