Я совершенно новый студент в области инженерии данных / машинного обучения и самостоятельного обучения. Работая над примером проблемы, я столкнулся со следующей задачей очистки данных
1. Remove extra whitespaces (keep one whitespace in between word but remove more
than one whitespaces) and punctuations
2. Turn all the words to lower case and remove stop words (list from NLTK)
3. Remove duplicate words in ASSEMBLY_NAME column
Хотя я работал над написанием кода для выполнения этой задачи во время заданий в колледже, я никогда не делал это водин кусок кода (для любого проекта), и я жду рекомендаций от экспертов, которые могут помочь мне, указав на лучший подход для его выполнения (in python or scala)
Работа, проделанная до сих пор:
1. Считать данные из файла партера
partFitmentDF = sqlContext.read.parquet("/mnt/blob/devdatasciencesto/pga-parts-forecast/raw/parts-fits/")
display(partFitmentDF)
2. Создать таблицу из DF
partFitmentDF.createOrReplaceTempView("partsFits")
partFitmentDF.write.mode("overwrite").format("delta").saveAsTable("partsFitsTable")
3. Перегруппируйте данные fits_assembly_name в таблице таким образом, чтобы все fits_assembly_name и fits_assembly_id переносились в одну строку для каждого отдельного элемента no *
%sql
select itemno, concat_ws(' | ' , collect_set(cast(fits_assembly_id as int))) as fits_assembly_id, concat_ws(' | ' ,collect_set(fits_assembly_name)) as fits_assembly_name
from partsFitsTable
WHERE itemno = 1014584
group by itemno
PS
Пример данных из выбранных столбцов partFitmentDF
itemno fits_assembly_id fits_assembly_name
0450056 44011 OIL PUMP ASSEMBLY - A01EA09CA (4999202399920239A06)
0450056 135502 OIL PUMP ASSEMBLY - A02EA09CA/CB/CC (4999202399920239A06)
0450056 37884 OIL PUMP ASSEMBLY - A01EA05CA (4999202399920239A06)
0450056 19618 OIL PUMP ASSEMBLY - A06FA09CA/CB/CC (4999202399920239A06)
0450056 135021 OIL PUMP ASSEMBLY - A02EA05CA (4999202399920239A06)
0450056 4147 OIL PUMP ASSEMBLY - A04KA05CA (4999202359920235A06)
0450056 12003 OIL PUMP ASSEMBLY - A05FA09CA/CB/CC (4999202399920239A06)
Теперь мне нужно свернуть эти несколько строк в однустрока за номером позиции (все имя_сборки и идентификаторы, принадлежащие одному номеру элемента, должны находиться в одной строке) , а затем мне нужно выполнить задачи 1, 2 и 3, перечисленные в самом верху, чтобы очистить столбец fits_assembly_nameи сохраните обработанные данные в окончательный фрейм данных или таблицу с столбцами itemno, fits_assembly_id и fits_assembly_name , но я не уверен, как начать работу в python, чтобы это сделать. Не могли бы вы помочь мне, предложив подход (и подсказку кода) , чтобы я мог продолжить эту задачу?