在Pypark中计算一个月内的周数。
date id
01-01-2020 1
01-02-2020 2
01-03-2020 3
01-04-2020 4
预期的Dataframe
date id no of weeks
01-01-2020 1 5
01-02-2020 2 5
01-03-2020 3 6
01-04-2020 4 5
我用了下面的代码
df=df.withColumn("number_of_weeks",F.lit((calendar.monthcalendar(F.year(col('date')),F.month(col('date')))
我要走了
valueerror:无法将列转换为bool:在生成Dataframe布尔表达式时,请使用“&”表示“and”,使用“|”表示“or”,使用“~”表示“not”。
1条答案
按热度按时间beq87vna1#
您需要使用一个udf来使用带有spark列的python模块。使用
F.year
以及F.month
,您还需要首先将date列转换为datetype,使用to_date
以及适当的日期格式字符串。