В PySpark я пытаюсь очистить набор данных.Некоторые столбцы имеют нежелательные символы (= "") в своих значениях.Я прочитал набор данных как DataFrame и уже создал пользовательскую функцию, которая может успешно удалять символы, но сейчас я пытаюсь написать скрипт, который может определить, для каких столбцов мне нужно выполнить функцию UserDefinedFunction.Я использую только последнюю строку набора данных, предполагая, что столбцы всегда содержат похожие записи.
DataFrame (df):
id value1 value2 value3
="100010" 10 20 ="30"
В Python работает следующее:
columns_to_fix = []
for col in df:
value = df[col][0]
if type(value) == str and value.startswith('='):
columns_to_fix.append(col)
Я попробовал следующее в PySpark, но это возвращает все имена столбцов:
columns_to_fix = []
for x in df.columns:
if df[x].like('%="'):
columns_to_fix.append(x)
Желаемый вывод:
columns_to_fix: ['id', 'value3']
Когда у меня есть имена столбцов в списке, я могу использовать цикл for, чтобы исправить записи в столбцах.Я очень новичок в PySpark, поэтому приношу свои извинения, если это слишком простой вопрос.Заранее большое спасибо за совет!