【发布时间】:2020-05-15 10:55:26
【问题描述】:
X_train[var] = np.where(X_train[var].isin(frequent_ls), X_train[var], 'Rare')
如何将 numpy 替换为 pyspark sql 函数?
【问题讨论】:
标签: python pyspark pyspark-sql
X_train[var] = np.where(X_train[var].isin(frequent_ls), X_train[var], 'Rare')
如何将 numpy 替换为 pyspark sql 函数?
【问题讨论】:
标签: python pyspark pyspark-sql
您可以简单地使用 .isin 运算符:
import pyspark.sql.functions as F
X_train = (X_train
.withColumn(var, F.when(X_train[var].isin(frequent_ls), X_train[var]).otherwise('Rare'))
【讨论】:
你定义一个 udf 函数
from spark.sql import function as F
from 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")))
【讨论】: