当 pyspark 中的子句给出错误 "name 'when' is not defined"
When clause in pyspark gives an error "name 'when' is not defined"
使用以下代码我收到一条错误消息,未定义名称 'when'。
voter_df = voter_df.withColumn('random_val',
when(voter_df.TITLE == 'Councilmember', F.rand())
.when(voter_df.TITLE == 'Mayor', 2)
.otherwise(0))
向 voter_df 添加一个名为 random_val 的列,其中包含 F.rand() 方法的结果,适用于任何标题为 Councilmember 的选民。将市长的 random_val 设置为 2。将任何其他标题设置为值 0
第二个when语句是dataframe的一个方法,但是第一个when语句不是。
解决方法:
使用 ....'random_val',F.when(....
使用以下代码我收到一条错误消息,未定义名称 'when'。
voter_df = voter_df.withColumn('random_val',
when(voter_df.TITLE == 'Councilmember', F.rand())
.when(voter_df.TITLE == 'Mayor', 2)
.otherwise(0))
向 voter_df 添加一个名为 random_val 的列,其中包含 F.rand() 方法的结果,适用于任何标题为 Councilmember 的选民。将市长的 random_val 设置为 2。将任何其他标题设置为值 0
第二个when语句是dataframe的一个方法,但是第一个when语句不是。
解决方法:
使用 ....'random_val',F.when(....