PYSPARK: добавить начальный ноль с условием

#pyspark

#pyspark

Вопрос:

У меня есть список идентификаторов с разными шаблонами, некоторые из них содержат 4 символа, другие 9 символов и т.д.

Мне нужно добавить начальный 0 только к идентификаторам с 9 символами и не влиять на другие элементы.

С помощью этого кода я добавляю ‘0’ ко всем элементам в списке:

df = df.withColumn('ID', F.lpad(F.col('ID'), 10, '0'))

Большое спасибо!

Ответ №1:

Я понял:

df.withColumn('RESULT', F.when(F.length(df['ID']) == 9, F.lpad(df['ID'], 10, '0')).otherwise(df['ID'])).show(100, False)