У меня есть фрейм данных pyspark:
number | matricule
--------------------------------------------
1 | ["AZ 1234", "1234", "00100"]
--------------------------------------------
23 | ["1010", "12987"]
--------------------------------------------
56 | ["AZ 98989", "22222", "98989"]
--------------------------------------------
В matricule
массиве, у меня есть дубликаты значений, если я удаляю AZ
String. Я хотел бы удалить "AZ"
строку, а затем удалить дубликаты значений в массиве matricule
. Зная, что иногда у меня есть пробел сразу после AZ
, я должен также удалить его.
Я сделал udf:
def remove_AZ(A)
for item in A:
if item.startswith('AZ'):
item.replace('AZ','')
udf_remove_AZ = F.udf(remove_AZ)
df = df.withColumn("AZ_2", udf_remove_AZ(df.matricule))
Я получил значение NULL во всех столбцах AZ_2
.
Как можно удалить AZ из каждого значения в массиве matricule
, а затем удалить дубликаты внутри? Спасибо