猿问

如何为以下语句编写等效的 pyspark 代码?

 X_train[var] = np.where(X_train[var].isin(frequent_ls), X_train[var], 'Rare')

如何用 pyspark sql 函数替换 numpy?


扬帆大鱼
浏览 147回答 2
2回答

茅侃侃

你定义一个 udf 函数from spark.sql import function as Ffrom pyspark.sql.types import StringType()def dictonnary(x):    if x in frequent_ls:         return x     else:        return "rare"replace = F.udf(lambda x: dictionnary(x), StrungType())Xtrain = xtrain.withColumn("var2", replace(F.col("var")))

呼啦一阵风

您可以简单地使用 . isin操作员:import pyspark.sql.functions as FX_train = (X_train           .withColumn(var, F.when(X_train[var].isin(frequent_ls), X_train[var]).otherwise('Rare'))
随时随地看视频慕课网APP

相关分类

Python
我要回答