У меня есть 30 столбцов, таких как DPF_1,DPF_2,DPF_3......DPF_30, к которым мне нужно применить кадры данных. Все 30 столбцов имеют тип данных String. Мое требование состоит в том, чтобы преобразовать все значения «Na», присутствующие в этих 30 столбцах, в «null».
Я пробовал код ниже, но он не динамический.
def udf_A(x:StringType()):
if x == "Na": return "null"
else:return x
udf_B = udf(udf_A, StringType())
df.withColumn("DPF_1" udf_B("DPF_1"))
df.withColumn("DPF_2" udf_B("DPF_2"))
.
.
repeated till DPF_30
Теперь я хочу, чтобы этот процесс выполнялся динамически в pyspark/scala, потому что более поздние столбцы могут увеличиваться с разными именами столбцов.
regexp_replaceдля преобразованияNaвnull- person philantrovert   schedule 16.01.2018