pyspark 애플리케이션으로 작업하기 위해 Ipython 노트북을 사용하고 있습니다. 소득이 50k 범위 이하인지 여부를 결정하기 위해 범주 열이 많은 CSV 파일이 있습니다. 소득 범위를 결정하기 위해 모든 입력을 취하는 분류 알고리즘을 수행하고 싶습니다. 매핑 된 변수에 변수 사전을 작성하고 맵 함수를 사용하여 처리 할 변수를 숫자에 매핑해야합니다. 기본적으로 모델을 구현할 수 있도록 데이터 집합을 숫자 형식으로 만들려고합니다.
데이터 세트에는 교육, 결혼 여부, 노동 계급 등과 같은 범주 열이 있습니다. 누군가가 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)
이것은 범주 형 데이터를 숫자 데이터로 변환하기 위해 일반 파이썬으로 작성한 코드입니다. 잘 작동합니다. 스파크 컨텍스트에서 변환을 수행하고 싶습니다. 그리고 데이터 소스에는 9 개의 범주 형 열이 있습니다. 사전 업데이트 프로세스를 자동화하여 9 개 열 모두에 KV 쌍을 갖도록하는 방법이 있습니까?