Я написал функцию, которая изменяет столбец данных pyspark, применяя надежное преобразование масштабирования. Однако для оценки квантилей мне пришлось преобразовать в pandas фрейм данных.
def robscal(sdf, col_name):
lst_quantile = sdf.select(col_name).toPandas().quantile([0.25, 0.5, 0.75]).values.tolist()
q1, q2, q3 = [y for x in lst_quantile for y in x]
return sdf.withColumn(col_name, (sf.col(col_name)-q2)/(q3-q1))
Я хотел бы использовать pandas_udf, чтобы избежать этого преобразования, но я не понимаю, как это сделать. Не могли бы вы мне помочь?