【发布时间】:2023-03-09 11:36:01
【问题描述】:
我正在尝试使用 when 更新 PySpark Dataframe 中的列。我正在使用数组检查多个条件。我收到错误'Cannot convert column into bool'。
我假设这是因为我使用in 来检查值列表。该错误为 and (&) 和 or (|) 等其他事物提供了替代方案,但 in 没有。
有什么方法可以检查所有值而不是链接几个 when 语句?代码如下
affirm = ['yes', 'y', 'Y', 'Yes', 'YES']
neg = ['no', 'n', 'N', 'No', 'NO']
new_df.withColumn('resp', when(col("resp") in affirm, 'Yes').when(col("resp") in neg, 'No').otherwise('null'))
【问题讨论】:
标签: apache-spark pyspark apache-spark-sql