Я использую ноутбук Ipython для работы с приложениями pyspark. У меня есть файл CSV с множеством категориальных столбцов, чтобы определить, находится ли доход ниже или выше диапазона 50 КБ. Я хотел бы выполнить алгоритм классификации, используя все входные данные для определения диапазона доходов. Мне нужно создать словарь переменных для сопоставленных переменных и использовать функцию map для отображения переменных в числа для обработки. По сути, я хотел бы, чтобы мой набор данных был в числовом формате, чтобы я мог работать над реализацией моделей.
В наборе данных есть такие категориальные столбцы, как образование, семейное положение, рабочий класс и т. Д. Может кто-нибудь сказать мне, как преобразовать их в числовые столбцы в pyspark?
workclass = {'?':0,'Federal-gov':1,'Local-gov':2,'Never- worked':3,'Private':4,'Self-emp-inc':5,'Self-emp-not-inc':6,'State-gov':7,'Without-pay':8}
Я создал пример словаря с парами ключ-значение для рабочего класса. Но я не знаю, как использовать это в функции карты и заменить категориальные данные в CSV-файле соответствующим значением.
wc = pd.read_csv('PATH', usecols = ['Workclass'])
df = pd.DataFrame(wc)
wcdict = {' ?':0,' Federal-gov':1,' Local-gov':2,' Never-worked':3,' Private':4,' Self-emp-inc':5,' Self-emp-n-inc':6,' State-gov':7,' Without-pay':8}
df_new = df.applymap(lambda s: wcdict.get(s) if s in wcdict else s)
print(df_new)
Это код, который я написал в обычном Python для преобразования категориальных данных в числовые данные. Работает нормально. Я хочу сделать преобразование в контексте искры. И есть 9 категориальных столбцов в источнике данных. Есть ли способ автоматизировать процесс обновления словаря, чтобы иметь пару KV для всех 9 столбцов?