Men*_*kes 2 apache-spark pyspark pyspark-sql
以下是我试图实现的操作:
types = ["200","300"]
def Count(ID):
    cnd = F.when((**F.col("type") in types**), 1).otherwise(F.lit(0))
    return F.sum(cnd).alias("CountTypes")
Run Code Online (Sandbox Code Playgroud)
粗体的语法不正确,有什么建议可以在这里为 PySpark 获得正确的语法吗?
我不确定您要实现的目标,但这里是正确的语法:
types = ["200","300"]
from pyspark.sql import functions as F
cnd = F.when(F.col("type").isin(types),F.lit(1)).otherwise(F.lit(0))
sum_on_cnd = F.sum(cnd).alias("count_types")
# Column<b'sum(CASE WHEN (type IN (200, 300)) THEN 1 ELSE 0 END) AS `count_types`'>
Run Code Online (Sandbox Code Playgroud)
        |   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           6191 次  |  
        
|   最近记录:  |