Я пытаюсь добавить функции двоичного кодирования в фрейм данных PySpark и хотел бы знать самый быстрый способ сделать это.
Например, учитывая DataFrame с cols {a, b, c}, яхотел бы создать новые столбцы {is_a_string, is_a_float, ...}, где значение для каждого столбца будет 1,0 или 0,0, в зависимости от типа данных значения для столбца a.
Пока я пробовал UDF.Они работают хорошо, но довольно медленно.Это кажется простой задачей, которую я должен быть в состоянии выполнить со встроенной функцией Spark, но я не могу найти, как это сделать.
Примером может быть:
Aтаблица может выглядеть как
a | b | c
r1 | 1 | "" | NULL
r2 | ""| "" | 1
Мы хотим превратить это в следующее:
a | b | c | is_a_int | is_a_string | is_a_null
r1 | 1 | "" | NULL | 1.0 | 0.0 | 0.0
r2 | ""| "" | 1 | 0.0 | 1.0 | 0.0
с is_b_int, is_b_string и т. д. ... также как новые столбцы