Note ≡ 추가 내용: 순서가 있는 특성 인코딩하기
순서가 있는 특성의 범주 사이에서 수치적 크기에 대해 확신이 없거나 두 범주 사이의 순서를 정의할 수 없다면 임계 값을 사용하여 0/1로 인코딩할 수 있습니다. 예를 들어 M, L, XL 값을 가진 특성 size를 두 개의 새로운 특성 'x > M'과 'x > L'로 나눌 수 있습니다.
>>> df = pd.DataFrame([['green', 'M', 10.1, 'class2'],
... ['red', 'L', 13.5, 'class1'],
... ['blue', 'XL', 15.3, 'class2']])
>>> df.columns = ['color', 'size', 'price', 'classlabel']
>>> df
판다스 데이터프레임의 apply 메서드를 사용하여 임계 값 기준으로 특성을 인코딩하는 lambda 함수를 적용할 수 있습니다.
>>> df['x > M'] = df['size'].apply(lambda x: 1 if x in {'L', 'XL'} else 0)
>>> df['x > L'] = df['size'].apply(lambda x: 1 if x == 'XL' else 0)
>>> del df['size']
>>> df