Skip to content

팬더스 get_dummies 기능의 효과적인 사용 방법

파이썬의 팬더스 라이브러리에는 데이터 조작을위한 강력하고 다재다능한 함수가 많이 있으며 get_dummies 함수는 그 중 하나입니다. 이 튜토리얼은이 기능을 이해하고 데이터 전처리 작업에서 효과적으로 사용하는 데 도움이되도록합니다.

PyGWalker를 사용하여 Python에서 빠른 데이터 시각화를 만들 수 있습니다.

PyGWalker는 Jupyter Notebook 기반 환경에서 데이터 분석 및 시각화 워크 플로우를 가속화하는 데 도움이되는 오픈 소스 Python 프로젝트입니다.

PyGWalker (opens in a new tab)는 Pandas 또는 Polars Dataframe을 시각적 인 UI로 변환하여 변수를 드래그하여 그래프를 쉽게 만들 수 있습니다. 다음 코드를 사용하세요.

pip install pygwalker
import pygwalker as pyg
gwalker = pyg.walk(df)

이제 다음 온라인 노트북에서 PyGWalker를 실행할 수 있습니다.

그리고 깃허브에서 ⭐️를 꼭 주세요!

현재 PyGWalker 실행 (opens in a new tab)구글 코랩에서 PyGWalker 실행 (opens in a new tab)PyGWalker 깃허브에 ⭐️ 주기 (opens in a new tab)
Run PyGWalker in Kaggle Notebook (opens in a new tab)Run PyGWalker in Google Colab (opens in a new tab)Run PyGWalker in Google Colab (opens in a new tab)

팬더스 get_dummies 이해하기

get_dummies 함수는 범주형 데이터를 처리하는 데 강력한 도구입니다. 이 함수는 범주형 변수를 더미/표시 변수로 변환하여 각 범주형 변수의 고유 한 범주에 대한 새 열을 만듭니다. 원래 행에서 범주가 존재하는지 여부를 나타내는 0과 1을 사용합니다.

이것이 중요한 이유는 머신 러닝 알고리즘들은 일반적으로 수치 데이터와 작동하므로 범주형 데이터를 수치형으로 변환해야하기 때문입니다. 이것이 get_dummies 함수가 사용되는 곳입니다.

import pandas as pd
 
# 예시 데이터
data = pd.DataFrame({'애완 동물': ['고양이', '강아지', '새', '고양이']})
 
# get_dummies 적용하기
dummies_data = pd.get_dummies(data)
 
print(dummies_data)

이것은 다음과 같이 출력됩니다.

   pets_bird  pets_cat  pets_dog
0          0         1         0
1          0         0         1
2          1         0         0
3          0         1         0

Get Dummies 함수의 구성 요소

get_dummies 함수는 동작을 상세하게 조정하기 위해 여러 매개 변수를 가지고 있습니다. 이 매개 변수들의 간단한 개요는 다음과 같습니다:

  • data: 더미 변수를 생성할 입력 DataFrame 또는 Series입니다.
  • prefix: 더미 변수의 열 이름에 지정할 선택적인 문자열 접두사입니다.
  • prefix_sep: 접두사와 열 이름 사이에 사용할 선택적인 문자 구분 기호입니다. 기본값은 _입니다.
  • dummy_na: Boolean 값으로, NaN을 나타내는 열을 추가할지 여부를 결정합니다. False인 경우 NaN은 무시됩니다. 기본값은 False입니다.
  • columns: 더미 변수로 변환할 열 이름의 선택적인 목록입니다. 지정하지 않으면 모든 개체 및 범주 dtype 열이 변환됩니다.
  • sparse: True이면 SparseDataFrame을 반환하고, False이면 일반 DataFrame을 반환합니다. 기본값은 False입니다.
  • drop_first: 첫 번째 수준을 제거하여 k 범주 수준 중 k-1 더미를 가져오는 데 사용되는 부울 변수입니다. 이는 다중공선성을 방지합니다. 기본값은 False입니다.

Pandas Get Dummies의 실용적인 예

더욱 실용적인 get_dummies 함수의 예를 살펴보겠습니다.

1. prefix 매개 변수 사용

prefix 매개 변수를 사용하여 더미 변수 열 이름에 특정 접두사를 추가할 수 있습니다. 이를 통해 나중에 이러한 열의 출처를 식별하는 데 도움이 될 수 있습니다.

# prefix와 함께 get_dummies 적용
dummies_data_prefix = pd.get_dummies(data, prefix='pets')
 
print(dummies_data_prefix)

2. NaN 값을 처리하는 방법

실제 데이터를 처리할 때, 종종 누락된 값을 마주치게 됩니다. dummy_na 매개 변수를 사용하여 NaN 값을 위한 별도의 더미 열을 생성할 수 있습니다.

# NaN이 포함된 예제 데이터
data = pd.DataFrame({'pets': ['cat', 'dog', 'bird', None]})
 
# dummy_na와 함께 get_dummies 적용
dummies_data_nan = pd.get_dummies(data, dummy_na=True)
 
print(dummies_data_nan)

3. 여러 열 작업

get_dummies 함수는 여러 열에 대해 동시에 적용할 수 있습니다. 아래 예제에서는 'pets' 및 'color' 두 가지 범주형 열에 대해 더미 변수를 만듭니다.

# 여러 열이 포함된 예제 데이터
data = pd.DataFrame({'pets': ['cat', 'dog', 'bird', 'cat'], 'color': ['black', 'white', 'black', 'white']})
 

여러 열에 대해 get_dummies 적용하기

dummies_data_multi = pd.get_dummies(data, columns=['pets', 'color'])

print(dummies_data_multi)


## 결론

결론적으로 `pd.get_dummies()` 함수를 숙달하면 머신러닝 프로젝트에서 데이터 전처리 능력을 향상시킬 수 있습니다. 범주형 데이터를 처리하는 데 꼭 필요한 도구로써, 알고리즘에 적합한 형식으로 데이터가 표현되도록 보장합니다.