首页 > 解决方案 > pyspark 相当于 pd.offsets.MontEnd(x)

问题描述

在 pandas 中有函数 pd.offsets.MonthEnd(x),这样

Date + pd.offsets.MonthEnd(x) 返回 Date 后 x 个月的月底。

pd.to_datetime('2010-01-15') + pd.offsets.MonthEnd(3) = Timestamp('2010-03-31 00:00:00')

我知道last_day(Date)pyspark 中的功能。但是,这不采用偏移参数,而是简单地返回月末。在 pyspark 中以哪种方式检索 pd.offsets.MonthEnd(x) 的类似行为?

标签: pandaspyspark

解决方案


您可以last_day结合add_months

import pyspark.sql.functions as F

df \
    .withColumn('add_months', F.add_months('my_timestamp', 3)) \
    .withColumn('result', F.last_day('add_months')) \
    .show()

推荐阅读