我想获取当前日期的最后五个日期,不包括星期六和星期日。例如,今天的日期是2023年5月4日(星期四),那么最后五个工作日将是4月28日(星期五),5月1日(星期一),5月2日(星期二),5月3日(星期三)和5月4日(星期四)。有办法做到这一点吗?
xriantvc1#
当然,从你的问题中,我不知道你到底想在哪里度过那些日子。然而,这里是如何在一个简单的 Dataframe 中显示它们:`
from pyspark.sql.functions import current_date, col, when, date_format number_of_previous_days = 5 WEEKENDS = ['Sat', 'Sun'] previous_days = current_date() - col("id").cast("Int") select_previous_weekdays = when(~date_format(previous_days, format='EEE').isin(WEEKENDS), previous_days) df = spark.range(number_of_previous_days + 1).withColumn("Previous_weekdays", select_previous_weekdays)
这将给予你一个带有id和Previous_weekdays列的dataframe,现在如果你不想要id或null值,你也可以这样做
df.select("Previous_weekdays").where(col("Previous_weekdays").isNotNull()).display()
`
1条答案
按热度按时间xriantvc1#
当然,从你的问题中,我不知道你到底想在哪里度过那些日子。然而,这里是如何在一个简单的 Dataframe 中显示它们:
`
这将给予你一个带有id和Previous_weekdays列的dataframe,现在如果你不想要id或null值,你也可以这样做
`