Pandas get dummies를 사용하는 방법 – pd.get_dummies
종종 통계에서 우리가 작업하는 데이터 세트에는 범주형 변수가 포함됩니다.
이름이나 라벨을 취하는 변수입니다. 예는 다음과 같습니다:
- 결혼 상태(“기혼”, “미혼”, “이혼”)
- 흡연 상태(‘흡연자’, ‘비흡연자’)
- 눈 색깔(“파란색”, “녹색”, “개암색”)
- 교육 수준(예: ‘고등학교’, ‘학사 학위’, ‘석사 학위’)
기계 학습 알고리즘(예: 선형 회귀 , 로지스틱 회귀 , 랜덤 포레스트 등)을 조정할 때 범주형 변수를 범주형 데이터를 나타내는 데 사용되는 수치 변수인 더미 변수 로 변환하는 경우가 많습니다.
예를 들어 범주형 변수 Gender 가 포함된 데이터세트가 있다고 가정합니다. 회귀 모델에서 이 변수를 예측 변수로 사용하려면 먼저 이를 더미 변수로 변환해야 합니다.
이 더미 변수를 생성하려면 0을 나타내는 값(“남성”) 중 하나를 선택하고 1을 나타내는 다른 값(“여성”)을 선택할 수 있습니다.
Pandas에서 더미 변수를 만드는 방법
pandas DataFrame의 변수에 대한 더미를 생성하려면 다음 기본 구문을 사용하는 pandas.get_dummies() 함수를 사용할 수 있습니다.
pandas.get_dummies(데이터, 접두사=없음, 열=없음, drop_first=False)
금:
- data : 팬더 DataFrame의 이름
- prefix : 새로운 더미 변수 열의 시작 부분에 추가할 문자열
- columns : 더미변수로 변환할 열의 이름
- drop_first : 첫 번째 더미변수 열 삭제 여부
다음 예에서는 이 기능을 실제로 사용하는 방법을 보여줍니다.
예시 1: 단일 더미 변수 생성
다음과 같은 팬더 DataFrame이 있다고 가정합니다.
import pandas as pd #createDataFrame df = pd. DataFrame ({' income ': [45, 48, 54, 57, 65, 69, 78], ' age ': [23, 25, 24, 29, 38, 36, 40], ' gender ': ['M', 'F', 'M', 'F', 'F', 'F', 'M']}) #view DataFrame df income age gender 0 45 23 M 1 48 25 F 2 54 24 M 3 57 29 F 4 65 38 F 5 69 36 F 6 78 40 M
pd.get_dummies() 함수를 사용하여 성별을 더미 변수로 바꿀 수 있습니다.
#convert gender to dummy variable p.d. get_dummies (df, columns=[' gender '], drop_first= True ) income age gender_M 0 45 23 1 1 48 25 0 2 54 24 1 3 57 29 0 4 65 38 0 5 69 36 0 6 78 40 1
성별 열은 이제 다음과 같은 더미 변수입니다.
- 0 값은 “여성”을 나타냅니다.
- 값 1 은 ‘남성’을 나타냅니다.
예 2: 여러 더미 변수 만들기
다음과 같은 팬더 DataFrame이 있다고 가정합니다.
import pandas as pd #createDataFrame df = pd. DataFrame ({' income ': [45, 48, 54, 57, 65, 69, 78], ' age ': [23, 25, 24, 29, 38, 36, 40], ' gender ': ['M', 'F', 'M', 'F', 'F', 'F', 'M'], ' college ': ['Y', 'N', 'N', 'N', 'Y', 'Y', 'Y']}) #view DataFrame df income age gender college 0 45 23 M Y 1 48 25 F N 2 54 24 M N 3 57 29 F N 4 65 38 F Y 5 69 36 F Y 6 78 40 M Y
pd.get_dummies() 함수를 사용하여 성별과 대학을 더미 변수로 변환할 수 있습니다.
#convert gender to dummy variable p.d. get_dummies (df, columns=[' gender ', ' college '], drop_first= True ) income age gender_M college_Y 0 45 23 1 1 1 48 25 0 0 2 54 24 1 0 3 57 29 0 0 4 65 38 0 1 5 69 36 0 1 6 78 40 1 1
성별 열은 이제 다음과 같은 더미 변수입니다.
- 0 값은 “여성”을 나타냅니다.
- 값 1 은 ‘남성’을 나타냅니다.
그리고 대학 열은 이제 다음과 같은 더미 변수입니다.
- 0 값은 “아니요” 대학을 나타냅니다.
- 값 1 은 대학에 대한 “예”를 나타냅니다.