Теперь я получаю еще одну ошибку при создании функции udf в pyspark.
Поле «Код категории продавца» в моих данных имеет очень большой размер. Я хочу уменьшить его категории.
Мой подход ко всем категориям этого поля с количеством менее 1000. Я хочу назначить новую категорию (MCC_lowcount).
Но выдает ошибку ниже последней строки кода ниже
Error: TypeError: Invalid argument, not a string or column: 1000 of type <class 'int'>.
For column literals, use 'lit', 'array', 'struct' or 'create_map' function.
Код:
def cut_levels(x, threshold, new_value):
value_counts = x1.value_counts()
labels = value_counts.index[value_counts < threshold]
x[np.in1d(x, labels)] = new_value
udf_cut_levels=udf(cut_levels,StringType())
udf_cut_levels(df1['Merchant Category Code'], 1000, 'MCC_lowcount')